如何在C#中初始化BigInteger?

如何在C#中初始化BigInteger?,c#,.net-4.0,biginteger,C#,.net 4.0,Biginteger,有人能告诉我如何使用System.Numerics.BigInteger数据类型吗? 我试着用这个作为参考- 但是我的计算机上没有System.Numerics名称空间。我已经安装了VS2010 Ultimate RC和.NET Framework 4.0。 有人能给我指点迷津吗 它应该在那里,你记得添加参考吗 右键单击项目,单击添加引用,然后在最左侧的选项卡中选择System.Numerics 然后您可以添加并使用它。您的项目目标是什么版本的.NET 4?确保它针对的是整个框架,而不是客户机概

有人能告诉我如何使用System.Numerics.BigInteger数据类型吗? 我试着用这个作为参考-

但是我的计算机上没有System.Numerics名称空间。我已经安装了VS2010 Ultimate RC和.NET Framework 4.0。
有人能给我指点迷津吗

它应该在那里,你记得添加参考吗

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

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

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


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

在项目的引用中是否有
System.Numerics.dll

请确保在项目中引用了System.Numerics,,否则将看不到名称空间。MSDN文档是查看必须引用哪些程序集才能获取哪些名称空间的良好来源。

如果在Visual Studio 2010中,需要手动将程序集引用添加到项目中。 您可以通过添加Reference>.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。

先决条件:.NET Framework 4

步骤:

  • 添加参考
    System.Numerics.dll
  • 添加
    导入类中的System.Numerics

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

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

    var myBigInteger = new BigInteger(50000000000000000000000000000000000000000000);
    
    您将得到一个编译错误:

    编译常量值错误

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

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

    在尝试添加using语句之前,是否添加了对System.Numerics DLL的引用?