5

これは私の以前の質問https://codereview.stackexchange.com/questions/12165/efficency-in-c/12169へのフォローアップであり、ulongs の代わりに BigIntegers を使用するために最善を尽くしましたが、何かをしたに違いありません違う。私は C# は初めてで、Java には精通しています。これは変換での私のベストショットでした:

using System;

namespace System.Numerics{

      public class Factorial{

             public static void Main(){

             String InString = Console.ReadLine();

             BigInteger num = 0;

             BigInteger factorial = 1;

             try {
                 num = BigInteger.Parse(InString);
                 Console.WriteLine(num);
                 }
             catch (FormatException) {

                  Console.WriteLine("Unable to convert the String into a BigInteger");
            }



            for (BigInteger forBlockvar = num; forBlockvar > 1; forBlockvar--){

                     factorial *= forBlockvar;

            }

            Console.WriteLine("The Factorial for the Given input is:");

            Console.WriteLine(factorial);
    }
}
}

そして、次のエラーが発生しました。

prog.cs(11,18): error CS0246: The type or namespace name `BigInteger' could not be found. Are you missing a using directive or an assembly reference?
prog.cs(13,18): error CS0246: The type or namespace name `BigInteger' could not be found. Are you missing a using directive or an assembly reference?
prog.cs(26,22): error CS0246: The type or namespace name `BigInteger' could not be found. Are you missing a using directive or an assembly reference?

このエラーの意味と修正方法を教えてください。

4

1 に答える 1

10

System.Numerics.dll への参照を追加する必要があります (ソリューション エクスプローラーで [参照] を右クリックし、[参照の追加] を選択します)。

また、using System.Numericsメソッドの名前空間をそのようにするのではなく、入れてください (つまり、コードベースにとってよりわかりやすい名前を付けます)。

于 2012-05-30T17:15:15.100 に答える