如何在C#中初始化BigInteger?

时间:2010-04-13 15:35:53

标签: c# .net-4.0 biginteger

有人可以告诉我如何使用System.Numerics.BigInteger数据类型吗? 我尝试将此作为参考 - http://msdn.microsoft.com/en-us/library/system.numerics.biginteger%28VS.100%29.aspx

但是我的计算机上没有System.Numerics命名空间。我已经安装了VS2010 Ultimate RC,我有.NET Framework 4.0。 有人可以指导我完成这个吗?

7 个答案:

答案 0 :(得分:9)

它应该在那里,你还记得添加引用吗?

右键单击您的项目,单击“添加引用”,然后在最左侧的选项卡中,选择“System.Numerics”

然后你可以添加并使用它。

答案 1 :(得分:2)

您的项目定位的是什么版本的.NET 4?确保它的目标是整个框架而不是客户端配置文件。 我刚刚确认System.Numerics.dll是.NET 4 Client Profile的一部分,所以这应该不是问题。

完成此操作后,请确保您的项目中也引用了System.Numerics.dll

答案 2 :(得分:2)

您的项目参考中是否有System.Numerics.dll

答案 3 :(得分:2)

确保include a reference到System.Numerics,,否则您将看不到命名空间。 MSDN文档是一个很好的资源,可以查看您必须引用哪些程序集来获取哪些名称空间。

答案 4 :(得分:1)

如果在Visual Studio 2010中,则需要手动将程序集引用添加到项目中。 您可以通过添加参考>来实现。 .NET并向下滚动,直到找到System.Numerics(System.Numerics.dll)版本4.0.0.0并选择它。

一旦你这样做,那么你需要在你的代码中添加一个using语句:

using System.Numerics;

然后初始化BigInteger有几种方法:

您可以执行以下操作:

BigInteger x = new BigInteger();
x = BigInteger.Zero; // initializes x to 0
x = BigInteger.One; // initializes x to 1

或者您可以使用带有整数文字的构造函数

BigInteger x = new BigInteger();
x = BigInteger(0); // initializes x to 0
x = BigInteger(1); // initializes x to 1

或更容易

BigInteger x;
x = 0; // initializes x to 0
x = 1; // initializes x to 1

最后一种方法在C#和VB.NET中运行良好,但是,还有其他语言不支持使用文字初始化BigInteger,例如:JScript.NET,Phalanger。

答案 5 :(得分:1)

您需要自己添加引用System.Numerics,如其他答案中所述,System.Numerics.dll如果安装了.NET 4则应该在那里。

然后,如果你的价值真的很大,你试试:

var myBigInteger = new BigInteger(50000000000000000000000000000000000000000000);

您将收到编译错误:

  

编译常量值错误

最简单的方法是使用文字文字:

var myBigInteger = BigInteger.Parse("50000000000000000000000000000000000000000000");

答案 6 :(得分:-1)

先决条件:.NET Framework 4

步骤:

  1. 添加参考System.Numerics.dll
  2. 在班级中添加Imports System.Numerics