BigInteger.Equals Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает значение, определяющее, равны ли два числовых значения.
Перегрузки
Equals(UInt64) |
Возвращает значение, определяющее, равны ли текущий экземпляр и 64-разрядное целое число без знака. |
Equals(Object) |
Возвращает значение, определяющее, равны ли текущий экземпляр и указанный объект. |
Equals(BigInteger) |
Возвращает значение, определяющее равны ли текущий экземпляр и указанный объект BigInteger. |
Equals(Int64) |
Возвращает значение, определяющее, равны ли текущий экземпляр и 64-разрядное целое число со знаком. |
Equals(UInt64)
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
Важно!
Этот API несовместим с CLS.
Возвращает значение, определяющее, равны ли текущий экземпляр и 64-разрядное целое число без знака.
public:
bool Equals(System::UInt64 other);
[System.CLSCompliant(false)]
public bool Equals (ulong other);
[<System.CLSCompliant(false)>]
override this.Equals : uint64 -> bool
Public Function Equals (other As ULong) As Boolean
Параметры
- other
- UInt64
64-разрядное целое число без знака для сравнения.
Возвращаемое значение
Значение true
, если текущий экземпляр и 64-разрядное целое число без знака равны; в противном случае — значение false
.
- Атрибуты
Примеры
В следующем примере сравнивается приблизительное расстояние нескольких звезд от Земли с расстоянием Эпсилон Инди от Земли, чтобы определить, равны ли они. В примере используется каждая перегрузка Equals метода для проверки на равенство.
#using <System.Numerics.dll>
using namespace System;
using namespace System::Numerics;
void main()
{
const Int64 LIGHT_YEAR = 5878625373183;
BigInteger altairDistance = 17 * LIGHT_YEAR;
BigInteger epsilonIndiDistance = 12 * LIGHT_YEAR;
BigInteger ursaeMajoris47Distance = 46 * LIGHT_YEAR;
Int64 tauCetiDistance = 12 * LIGHT_YEAR;
UInt64 procyon2Distance = 12 * LIGHT_YEAR;
Object^ wolf424ABDistance = 14 * LIGHT_YEAR;
Console::WriteLine("Approx. equal distances from Epsilon Indi to:");
Console::WriteLine(" Altair: {0}",
epsilonIndiDistance.Equals(altairDistance));
Console::WriteLine(" Ursae Majoris 47: {0}",
epsilonIndiDistance.Equals(ursaeMajoris47Distance));
Console::WriteLine(" TauCeti: {0}",
epsilonIndiDistance.Equals(tauCetiDistance));
Console::WriteLine(" Procyon 2: {0}",
epsilonIndiDistance.Equals(procyon2Distance));
Console::WriteLine(" Wolf 424 AB: {0}",
epsilonIndiDistance.Equals(wolf424ABDistance));
}
/*
The example displays output like the following:
Approx. equal distances from Epsilon Indi to:
Altair: False
Ursae Majoris 47: False
TauCeti: True
Procyon 2: True
Wolf 424 AB: False
*/
const long LIGHT_YEAR = 5878625373183;
BigInteger altairDistance = 17 * LIGHT_YEAR;
BigInteger epsilonIndiDistance = 12 * LIGHT_YEAR;
BigInteger ursaeMajoris47Distance = 46 * LIGHT_YEAR;
long tauCetiDistance = 12 * LIGHT_YEAR;
ulong procyon2Distance = 12 * LIGHT_YEAR;
object wolf424ABDistance = 14 * LIGHT_YEAR;
Console.WriteLine("Approx. equal distances from Epsilon Indi to:");
Console.WriteLine(" Altair: {0}",
epsilonIndiDistance.Equals(altairDistance));
Console.WriteLine(" Ursae Majoris 47: {0}",
epsilonIndiDistance.Equals(ursaeMajoris47Distance));
Console.WriteLine(" TauCeti: {0}",
epsilonIndiDistance.Equals(tauCetiDistance));
Console.WriteLine(" Procyon 2: {0}",
epsilonIndiDistance.Equals(procyon2Distance));
Console.WriteLine(" Wolf 424 AB: {0}",
epsilonIndiDistance.Equals(wolf424ABDistance));
// The example displays the following output:
// Approx. equal distances from Epsilon Indi to:
// Altair: False
// Ursae Majoris 47: False
// TauCeti: True
// Procyon 2: True
// Wolf 424 AB: False
let LIGHT_YEAR = 5878625373183L
let altairDistance = 17I * bigint LIGHT_YEAR
let epsilonIndiDistance = 12I * bigint LIGHT_YEAR
let ursaeMajoris47Distance = 46I * bigint LIGHT_YEAR
let tauCetiDistance = 12L * LIGHT_YEAR
let procyon2Distance = 12uL * uint64 LIGHT_YEAR
let wolf424ABDistance = 14L * LIGHT_YEAR
printfn "Approx. equal distances from Epsilon Indi to:"
printfn $" Altair: {epsilonIndiDistance.Equals(altairDistance)}"
printfn $" Ursae Majoris 47: {epsilonIndiDistance.Equals(ursaeMajoris47Distance)}"
printfn $" TauCeti: {epsilonIndiDistance.Equals(tauCetiDistance)}"
printfn $" Procyon 2: {epsilonIndiDistance.Equals(procyon2Distance)}"
printfn $" Wolf 424 AB: {epsilonIndiDistance.Equals(wolf424ABDistance)}"
// The example displays the following output:
// Approx. equal distances from Epsilon Indi to:
// Altair: False
// Ursae Majoris 47: False
// TauCeti: True
// Procyon 2: True
// Wolf 424 AB: False
Const LIGHT_YEAR As Long = 5878625373183
Dim altairDistance As BigInteger = 17 * LIGHT_YEAR
Dim epsilonIndiDistance As BigInteger = 12 * LIGHT_YEAR
Dim ursaeMajoris47Distance As BigInteger = 46 * LIGHT_YEAR
Dim tauCetiDistance As BigInteger = 12 * LIGHT_YEAR
Dim procyon2Distance As Long = 12 * LIGHT_YEAR
Dim wolf424ABDistance As Object = 14 * LIGHT_YEAR
Console.WriteLine("Approx. equal distances from Epsilon Indi to:")
Console.WriteLine(" Altair: {0}", _
epsilonIndiDistance.Equals(altairDistance))
Console.WriteLine(" Ursae Majoris 47: {0}", _
epsilonIndiDistance.Equals(ursaeMajoris47Distance))
Console.WriteLine(" TauCeti: {0}", _
epsilonIndiDistance.Equals(tauCetiDistance))
Console.WriteLine(" Procyon 2: {0}", _
epsilonIndiDistance.Equals(procyon2Distance))
Console.WriteLine(" Wolf 424 AB: {0}", _
epsilonIndiDistance.Equals(wolf424ABDistance))
' The example displays the following output:
' Approx. equal distances from Epsilon Indi to:
' Altair: False
' Ursae Majoris 47: False
' TauCeti: True
' Procyon 2: True
' Wolf 424 AB: False
Комментарии
Чтобы определить связь между двумя объектами вместо простой проверки на равенство, вызовите BigInteger.CompareTo(UInt64) метод .
Применяется к
Equals(Object)
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
Возвращает значение, определяющее, равны ли текущий экземпляр и указанный объект.
public:
override bool Equals(System::Object ^ obj);
public override bool Equals (object obj);
public override bool Equals (object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean
Параметры
- obj
- Object
Объект для сравнения.
Возвращаемое значение
Значение true
, если аргумент obj
— это объект BigInteger, и его значение равно значению текущего экземпляра BigInteger. В противном случае — false
.
Примеры
В следующем примере определяются параллельные Object массивы и BigInteger . Каждый элемент одного массива имеет то же значение, что и соответствующий элемент второго массива. Как показано в выходных данных из примера, экземпляр в BigInteger массиве считается равным экземпляру в массиве Object только в том случае, если последний является a BigInteger и их значения равны.
using System;
using System.Numerics;
public class Example
{
public static void Main()
{
object[] obj = { 0, 10, 100, new BigInteger(1000), -10 };
BigInteger[] bi = { BigInteger.Zero, new BigInteger(10),
new BigInteger(100), new BigInteger(1000),
new BigInteger(-10) };
for (int ctr = 0; ctr < bi.Length; ctr++)
Console.WriteLine(bi[ctr].Equals(obj[ctr]));
}
}
// The example displays the following output:
// False
// False
// False
// True
// False
open System.Numerics
let obj: obj[] = [| 0; 10; 100; BigInteger 1000; -10 |]
let bi =
[| BigInteger.Zero
BigInteger 10
BigInteger 100
BigInteger 1000
BigInteger -10 |]
for ctr = 0 to bi.Length - 1 do
printfn $"{bi.[ctr].Equals(obj.[ctr])}"
// The example displays the following output:
// False
// False
// False
// True
// False
Imports System.Numerics
Module Example
Public Sub Main()
Dim obj() As object = { 0, 10, 100, New BigInteger(1000), -10 }
Dim bi() As BigInteger = { BigInteger.Zero, New BigInteger(10),
New BigInteger(100), New BigInteger(1000),
New BigInteger(-10) }
For ctr As Integer = 0 To bi.Length - 1
Console.WriteLine(bi(ctr).Equals(obj(ctr)))
Next
End Sub
End Module
' The example displays the following output:
' False
' False
' False
' True
' False
Комментарии
obj
Если аргумент не является значениемBigInteger, метод возвращает false
. Метод возвращает true
только в том случае, если obj
является экземпляром BigInteger , значение которого равно текущему экземпляру.
Чтобы определить связь между двумя объектами вместо простой проверки на равенство, вызовите CompareTo(Object) метод .
Применяется к
Equals(BigInteger)
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
Возвращает значение, определяющее равны ли текущий экземпляр и указанный объект BigInteger.
public:
virtual bool Equals(System::Numerics::BigInteger other);
public bool Equals (System.Numerics.BigInteger other);
override this.Equals : System.Numerics.BigInteger -> bool
Public Function Equals (other As BigInteger) As Boolean
Параметры
- other
- BigInteger
Объект для сравнения.
Возвращаемое значение
Значение true
, если значения данного объекта BigInteger и объекта other
совпадают; в противном случае — значение false
.
Реализации
Примеры
В следующем примере сравнивается приблизительное расстояние нескольких звезд от Земли с расстоянием Эпсилон Инди от Земли, чтобы определить, равны ли они. В примере используется каждая перегрузка Equals метода для проверки на равенство.
#using <System.Numerics.dll>
using namespace System;
using namespace System::Numerics;
void main()
{
const Int64 LIGHT_YEAR = 5878625373183;
BigInteger altairDistance = 17 * LIGHT_YEAR;
BigInteger epsilonIndiDistance = 12 * LIGHT_YEAR;
BigInteger ursaeMajoris47Distance = 46 * LIGHT_YEAR;
Int64 tauCetiDistance = 12 * LIGHT_YEAR;
UInt64 procyon2Distance = 12 * LIGHT_YEAR;
Object^ wolf424ABDistance = 14 * LIGHT_YEAR;
Console::WriteLine("Approx. equal distances from Epsilon Indi to:");
Console::WriteLine(" Altair: {0}",
epsilonIndiDistance.Equals(altairDistance));
Console::WriteLine(" Ursae Majoris 47: {0}",
epsilonIndiDistance.Equals(ursaeMajoris47Distance));
Console::WriteLine(" TauCeti: {0}",
epsilonIndiDistance.Equals(tauCetiDistance));
Console::WriteLine(" Procyon 2: {0}",
epsilonIndiDistance.Equals(procyon2Distance));
Console::WriteLine(" Wolf 424 AB: {0}",
epsilonIndiDistance.Equals(wolf424ABDistance));
}
/*
The example displays output like the following:
Approx. equal distances from Epsilon Indi to:
Altair: False
Ursae Majoris 47: False
TauCeti: True
Procyon 2: True
Wolf 424 AB: False
*/
const long LIGHT_YEAR = 5878625373183;
BigInteger altairDistance = 17 * LIGHT_YEAR;
BigInteger epsilonIndiDistance = 12 * LIGHT_YEAR;
BigInteger ursaeMajoris47Distance = 46 * LIGHT_YEAR;
long tauCetiDistance = 12 * LIGHT_YEAR;
ulong procyon2Distance = 12 * LIGHT_YEAR;
object wolf424ABDistance = 14 * LIGHT_YEAR;
Console.WriteLine("Approx. equal distances from Epsilon Indi to:");
Console.WriteLine(" Altair: {0}",
epsilonIndiDistance.Equals(altairDistance));
Console.WriteLine(" Ursae Majoris 47: {0}",
epsilonIndiDistance.Equals(ursaeMajoris47Distance));
Console.WriteLine(" TauCeti: {0}",
epsilonIndiDistance.Equals(tauCetiDistance));
Console.WriteLine(" Procyon 2: {0}",
epsilonIndiDistance.Equals(procyon2Distance));
Console.WriteLine(" Wolf 424 AB: {0}",
epsilonIndiDistance.Equals(wolf424ABDistance));
// The example displays the following output:
// Approx. equal distances from Epsilon Indi to:
// Altair: False
// Ursae Majoris 47: False
// TauCeti: True
// Procyon 2: True
// Wolf 424 AB: False
let LIGHT_YEAR = 5878625373183L
let altairDistance = 17I * bigint LIGHT_YEAR
let epsilonIndiDistance = 12I * bigint LIGHT_YEAR
let ursaeMajoris47Distance = 46I * bigint LIGHT_YEAR
let tauCetiDistance = 12L * LIGHT_YEAR
let procyon2Distance = 12uL * uint64 LIGHT_YEAR
let wolf424ABDistance = 14L * LIGHT_YEAR
printfn "Approx. equal distances from Epsilon Indi to:"
printfn $" Altair: {epsilonIndiDistance.Equals(altairDistance)}"
printfn $" Ursae Majoris 47: {epsilonIndiDistance.Equals(ursaeMajoris47Distance)}"
printfn $" TauCeti: {epsilonIndiDistance.Equals(tauCetiDistance)}"
printfn $" Procyon 2: {epsilonIndiDistance.Equals(procyon2Distance)}"
printfn $" Wolf 424 AB: {epsilonIndiDistance.Equals(wolf424ABDistance)}"
// The example displays the following output:
// Approx. equal distances from Epsilon Indi to:
// Altair: False
// Ursae Majoris 47: False
// TauCeti: True
// Procyon 2: True
// Wolf 424 AB: False
Const LIGHT_YEAR As Long = 5878625373183
Dim altairDistance As BigInteger = 17 * LIGHT_YEAR
Dim epsilonIndiDistance As BigInteger = 12 * LIGHT_YEAR
Dim ursaeMajoris47Distance As BigInteger = 46 * LIGHT_YEAR
Dim tauCetiDistance As BigInteger = 12 * LIGHT_YEAR
Dim procyon2Distance As Long = 12 * LIGHT_YEAR
Dim wolf424ABDistance As Object = 14 * LIGHT_YEAR
Console.WriteLine("Approx. equal distances from Epsilon Indi to:")
Console.WriteLine(" Altair: {0}", _
epsilonIndiDistance.Equals(altairDistance))
Console.WriteLine(" Ursae Majoris 47: {0}", _
epsilonIndiDistance.Equals(ursaeMajoris47Distance))
Console.WriteLine(" TauCeti: {0}", _
epsilonIndiDistance.Equals(tauCetiDistance))
Console.WriteLine(" Procyon 2: {0}", _
epsilonIndiDistance.Equals(procyon2Distance))
Console.WriteLine(" Wolf 424 AB: {0}", _
epsilonIndiDistance.Equals(wolf424ABDistance))
' The example displays the following output:
' Approx. equal distances from Epsilon Indi to:
' Altair: False
' Ursae Majoris 47: False
' TauCeti: True
' Procyon 2: True
' Wolf 424 AB: False
Комментарии
Этот метод реализует IEquatable<T> интерфейс и работает немного лучше, чем Equals(Object) потому, что ему не нужно преобразовывать other
параметр в BigInteger объект .
Чтобы определить связь между двумя BigInteger объектами вместо простой проверки на равенство, вызовите BigInteger.CompareTo(BigInteger) метод .
Применяется к
Equals(Int64)
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
- Исходный код:
- BigInteger.cs
Возвращает значение, определяющее, равны ли текущий экземпляр и 64-разрядное целое число со знаком.
public:
bool Equals(long other);
public bool Equals (long other);
override this.Equals : int64 -> bool
Public Function Equals (other As Long) As Boolean
Параметры
- other
- Int64
64-разрядное целое число со знаком для сравнения.
Возвращаемое значение
Значение true
, если 64-разрядное целое число со знаком и текущий экземпляр равны; в противном случае — значение false
.
Примеры
В следующем примере создается экземпляр объекта из каждого целочисленного BigInteger типа, за исключением UInt64. Затем вызывается Equals(Int64) метод для сравнения BigInteger значения с исходным целочисленным значением, переданным конструктору BigInteger . Как видно из выходных данных, значения в каждом случае равны.
#using <System.Numerics.dll>
using namespace System;
using namespace System::Numerics;
void main()
{
BigInteger bigIntValue;
Byte byteValue = 16;
bigIntValue = BigInteger(byteValue);
Console::WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType()->Name, bigIntValue,
byteValue.GetType()->Name, byteValue,
bigIntValue.Equals((Int64)byteValue));
SByte sbyteValue = -16;
bigIntValue = BigInteger(sbyteValue);
Console::WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType()->Name, bigIntValue,
sbyteValue.GetType()->Name, sbyteValue,
bigIntValue.Equals((Int64)sbyteValue));
Int16 shortValue = 1233;
bigIntValue = BigInteger(shortValue);
Console::WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType()->Name, bigIntValue,
shortValue.GetType()->Name, shortValue,
bigIntValue.Equals((Int64)shortValue));
UInt16 ushortValue = 64000;
bigIntValue = BigInteger(ushortValue);
Console::WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType()->Name, bigIntValue,
ushortValue.GetType()->Name, ushortValue,
bigIntValue.Equals((Int64)ushortValue));
int intValue = -1603854;
bigIntValue = BigInteger(intValue);
Console::WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType()->Name, bigIntValue,
intValue.GetType()->Name, intValue,
bigIntValue.Equals((Int64)intValue));
UInt32 uintValue = 1223300;
bigIntValue = BigInteger(uintValue);
Console::WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType()->Name, bigIntValue,
uintValue.GetType()->Name, uintValue,
bigIntValue.Equals((Int64)uintValue));
Int64 longValue = -123822229012;
bigIntValue = BigInteger(longValue);
Console::WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType()->Name, bigIntValue,
longValue.GetType()->Name, longValue,
bigIntValue.Equals((Int64)longValue));
}
/*
The example displays output like the following:
BigInteger 16 = Byte 16 : True
BigInteger -16 = SByte -16 : True
BigInteger 1233 = Int16 1233 : True
BigInteger 64000 = UInt16 64000 : True
BigInteger -1603854 = Int32 -1603854 : True
BigInteger 1223300 = UInt32 1223300 : True
BigInteger -123822229012 = Int64 -123822229012 : True
*/
BigInteger bigIntValue;
byte byteValue = 16;
bigIntValue = new BigInteger(byteValue);
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
byteValue.GetType().Name, byteValue,
bigIntValue.Equals(byteValue));
sbyte sbyteValue = -16;
bigIntValue = new BigInteger(sbyteValue);
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
sbyteValue.GetType().Name, sbyteValue,
bigIntValue.Equals(sbyteValue));
short shortValue = 1233;
bigIntValue = new BigInteger(shortValue);
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
shortValue.GetType().Name, shortValue,
bigIntValue.Equals(shortValue));
ushort ushortValue = 64000;
bigIntValue = new BigInteger(ushortValue);
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
ushortValue.GetType().Name, ushortValue,
bigIntValue.Equals(ushortValue));
int intValue = -1603854;
bigIntValue = new BigInteger(intValue);
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
intValue.GetType().Name, intValue,
bigIntValue.Equals(intValue));
uint uintValue = 1223300;
bigIntValue = new BigInteger(uintValue);
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
uintValue.GetType().Name, uintValue,
bigIntValue.Equals(uintValue));
long longValue = -123822229012;
bigIntValue = new BigInteger(longValue);
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
longValue.GetType().Name, longValue,
bigIntValue.Equals(longValue));
// The example displays the following output:
// BigInteger 16 = Byte 16 : True
// BigInteger -16 = SByte -16 : True
// BigInteger 1233 = Int16 1233 : True
// BigInteger 64000 = UInt16 64000 : True
// BigInteger -1603854 = Int32 -1603854 : True
// BigInteger 1223300 = UInt32 1223300 : True
// BigInteger -123822229012 = Int64 -123822229012 : True
let byteValue = 16uy
let bigIntValue = BigInteger byteValue
printfn
$"{bigIntValue.GetType().Name} {bigIntValue} = {byteValue.GetType().Name} {byteValue} : {bigIntValue.Equals(byteValue)}"
let sbyteValue = -16y
let bigIntValue = BigInteger sbyteValue
printfn
$"{bigIntValue.GetType().Name} {bigIntValue} = {sbyteValue.GetType().Name} {sbyteValue} : {bigIntValue.Equals(sbyteValue)}"
let shortValue = 1233s
let bigIntValue = BigInteger shortValue
printfn
$"{bigIntValue.GetType().Name} {bigIntValue} = {shortValue.GetType().Name} {shortValue} : {bigIntValue.Equals(shortValue)}"
let ushortValue = 64000us
let bigIntValue = BigInteger ushortValue
printfn
$"{bigIntValue.GetType().Name} {bigIntValue} = {ushortValue.GetType().Name} {ushortValue} : {bigIntValue.Equals(ushortValue)}"
let intValue = -1603854
let bigIntValue = BigInteger intValue
printfn
$"{bigIntValue.GetType().Name} {bigIntValue} = {intValue.GetType().Name} {intValue} : {bigIntValue.Equals(intValue)}"
let uintValue = 1223300u
let bigIntValue = BigInteger uintValue
printfn
$"{bigIntValue.GetType().Name} {bigIntValue} = {uintValue.GetType().Name} {uintValue} : {bigIntValue.Equals(uintValue)}"
let longValue = -123822229012L
let bigIntValue = BigInteger longValue
printfn
$"{bigIntValue.GetType().Name} {bigIntValue} = {longValue.GetType().Name} {longValue} : {bigIntValue.Equals(longValue)}"
// The example displays the following output:
// BigInteger 16 = Byte 16 : True
// BigInteger -16 = SByte -16 : True
// BigInteger 1233 = Int16 1233 : True
// BigInteger 64000 = UInt16 64000 : True
// BigInteger -1603854 = Int32 -1603854 : True
// BigInteger 1223300 = UInt32 1223300 : True
// BigInteger -123822229012 = Int64 -123822229012 : True
Dim bigIntValue As BigInteger
Dim byteValue As Byte = 16
bigIntValue = New BigInteger(byteValue)
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
byteValue.GetType().Name, byteValue,
bigIntValue.Equals(byteValue))
Dim sbyteValue As SByte = -16
bigIntValue = New BigInteger(sbyteValue)
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
sbyteValue.GetType().Name, sbyteValue,
bigIntValue.Equals(sbyteValue))
Dim shortValue As Short = 1233
bigIntValue = New BigInteger(shortValue)
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
shortValue.GetType().Name, shortValue,
bigIntValue.Equals(shortValue))
Dim ushortValue As UShort = 64000
bigIntValue = New BigInteger(ushortValue)
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
ushortValue.GetType().Name, ushortValue,
bigIntValue.Equals(ushortValue))
Dim intValue As Integer = -1603854
bigIntValue = New BigInteger(intValue)
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
intValue.GetType().Name, intValue,
bigIntValue.Equals(intValue))
Dim uintValue As UInteger = 1223300
bigIntValue = New BigInteger(uintValue)
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
uintValue.GetType().Name, uintValue,
bigIntValue.Equals(uintValue))
Dim longValue As Long = -123822229012
bigIntValue = New BigInteger(longValue)
Console.WriteLine("{0} {1} = {2} {3} : {4}",
bigIntValue.GetType().Name, bigIntValue,
longValue.GetType().Name, longValue,
bigIntValue.Equals(longValue))
' The example displays the following output:
' BigInteger 16 = Byte 16 : True
' BigInteger -16 = SByte -16 : True
' BigInteger 1233 = Int16 1233 : True
' BigInteger 64000 = UInt16 64000 : True
' BigInteger -1603854 = Int32 -1603854 : True
' BigInteger 1223300 = UInt32 1223300 : True
' BigInteger -123822229012 = Int64 -123822229012 : True
Комментарии
Если other
является значением Byte, Int16, Int32, SByte, UInt16, или UInt32 , то при вызове метода оно неявно преобразуется Int64 в значение.
Чтобы определить связь между двумя объектами вместо простой проверки на равенство, вызовите BigInteger.CompareTo(Int64) метод .