Как инициализировать BigInteger в C #? - PullRequest
3 голосов
/ 13 апреля 2010

Может кто-нибудь показать мне, как использовать тип данных 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 ]

9 голосов
/ 13 апреля 2010

Это должно быть там, вы не забыли добавить ссылку?

Щелкните правой кнопкой мыши свой проект, нажмите Добавить ссылку, затем на самой левой вкладке выберите System.Numerics

Затем вы можете добавить его и использовать.

2 голосов
/ 13 апреля 2010

Убедитесь, что вы включили ссылку на System.Numerics, в противном случае вы не увидите пространство имен. Документация MSDN - хороший источник информации о том, на какие сборки нужно ссылаться, чтобы получить какие пространства имен.

2 голосов
/ 13 апреля 2010

У вас есть System.Numerics.dll в ссылках вашего проекта?

2 голосов
/ 13 апреля 2010

На какую версию .NET 4 нацелен ваш проект? Убедитесь, что он нацелен на всю инфраструктуру, а не на профиль клиента. Я только что подтвердил, что System.Numerics.dll является частью профиля клиента .NET 4, поэтому это не должно быть проблемой.

Как только вы это сделаете, убедитесь, что вы также указали ссылку System.Numerics.dll в своем проекте.

1 голос
/ 13 ноября 2014

Вам нужно добавить ссылку System.Numerics самостоятельно, как упоминалось в других ответах, System.Numerics.dll должно быть там, если у вас установлено .NET 4.

Затем, если ваше значение действительно большоеи вы пытаетесь:

var myBigInteger = new BigInteger(50000000000000000000000000000000000000000000);

Вы получите ошибку компиляции:

Неверное значение константы компиляции

Самый простой подход - использовать текстлитерал:

var myBigInteger = BigInteger.Parse("50000000000000000000000000000000000000000000");
1 голос
/ 03 июня 2011

Если в Visual Studio 2010 вам нужно вручную добавить ссылку на сборку в ваш проект. Вы можете сделать это, добавив ссылку> .NET и прокручивая вниз, пока не найдете System.Numerics (то есть System.Numerics.dll) версии 4.0.0.0 и выберите его.

Как только вы это сделаете, вам нужно добавить в ваш код оператор использования:

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.

0 голосов
/ 03 мая 2013

Условие: .NET Framework 4

Шаги:

  1. Добавить ссылку System.Numerics.dll
  2. Добавьте Imports System.Numerics в свой класс
...