BigInteger.Equals Método

Definição

Retorna um valor que indica se dois valores numéricos são iguais.

Sobrecargas

Equals(UInt64)

Retorna um valor que indica se a instância atual e um inteiro sem sinal de 64 bits têm o mesmo valor.

Equals(Object)

Retorna um valor que indica se a instância atual e um objeto especificado têm o mesmo valor.

Equals(BigInteger)

Retorna um valor que indica se a instância atual e um objeto BigInteger especificado têm o mesmo valor.

Equals(Int64)

Retorna um valor que indica se a instância atual e um inteiro com sinal de 64 bits têm o mesmo valor.

Equals(UInt64)

Origem:
BigInteger.cs
Origem:
BigInteger.cs
Origem:
BigInteger.cs

Importante

Esta API não está em conformidade com CLS.

Retorna um valor que indica se a instância atual e um inteiro sem sinal de 64 bits têm o mesmo valor.

C#
[System.CLSCompliant(false)]
public bool Equals(ulong other);

Parâmetros

other
UInt64

O inteiro sem sinal de 64 bits para comparar.

Retornos

true se a instância atual e o inteiro sem sinal de 64 bits tiverem o mesmo valor; caso contrário, false.

Atributos

Exemplos

O exemplo a seguir compara a distância aproximada de várias estrelas da Terra com a distância de Epsilon Indi da Terra para determinar se elas são iguais. O exemplo usa cada sobrecarga do Equals método para testar a igualdade.

C#
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

Comentários

Para determinar a relação entre os dois objetos em vez de apenas testar a igualdade, chame o BigInteger.CompareTo(UInt64) método .

Aplica-se a

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Equals(Object)

Origem:
BigInteger.cs
Origem:
BigInteger.cs
Origem:
BigInteger.cs

Retorna um valor que indica se a instância atual e um objeto especificado têm o mesmo valor.

C#
public override bool Equals(object obj);
C#
public override bool Equals(object? obj);

Parâmetros

obj
Object

O objeto a ser comparado.

Retornos

true se o obj argumento for um objeto BigInteger e seu valor for igual ao valor da instância BigInteger atual; caso contrário, false.

Exemplos

O exemplo a seguir define matrizes e BigInteger paralelasObject. Cada elemento de uma matriz tem o mesmo valor que o elemento correspondente da segunda matriz. Como mostra a saída do exemplo, a instância na BigInteger matriz é considerada igual à instância na Object matriz somente se este for um BigInteger e seus valores forem iguais.

C#
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

Comentários

Se o obj argumento não for um BigInteger valor, o método retornará false. O método retornará true somente se obj for uma BigInteger instância cujo valor é igual à instância atual.

Para determinar a relação entre os dois objetos em vez de apenas testar a igualdade, chame o CompareTo(Object) método .

Aplica-se a

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Equals(BigInteger)

Origem:
BigInteger.cs
Origem:
BigInteger.cs
Origem:
BigInteger.cs

Retorna um valor que indica se a instância atual e um objeto BigInteger especificado têm o mesmo valor.

C#
public bool Equals(System.Numerics.BigInteger other);

Parâmetros

other
BigInteger

O objeto a ser comparado.

Retornos

true se este objeto BigInteger e other tiverem o mesmo valor; caso contrário, false.

Implementações

Exemplos

O exemplo a seguir compara a distância aproximada de várias estrelas da Terra com a distância de Epsilon Indi da Terra para determinar se elas são iguais. O exemplo usa cada sobrecarga do Equals método para testar a igualdade.

C#
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

Comentários

Esse método implementa a IEquatable<T> interface e tem um desempenho ligeiramente melhor do que Equals(Object) porque não precisa converter o other parâmetro em um BigInteger objeto .

Para determinar a relação entre os dois BigInteger objetos em vez de apenas testar a igualdade, chame o BigInteger.CompareTo(BigInteger) método .

Aplica-se a

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Equals(Int64)

Origem:
BigInteger.cs
Origem:
BigInteger.cs
Origem:
BigInteger.cs

Retorna um valor que indica se a instância atual e um inteiro com sinal de 64 bits têm o mesmo valor.

C#
public bool Equals(long other);

Parâmetros

other
Int64

O valor inteiro com sinal de 64 bits para comparar.

Retornos

true se o inteiro com sinal de 64 bits e a instância atual tiverem o mesmo valor; caso contrário, false.

Exemplos

O exemplo a seguir cria uma instância de um BigInteger objeto de cada tipo integral, exceto UInt64. Em seguida, ele chama o Equals(Int64) método para comparar o BigInteger valor com o valor inteiro original que foi passado para o BigInteger construtor. Como a saída mostra, os valores são iguais em cada caso.

C#
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

Comentários

Se other for um Bytevalor , Int16, Int32, UInt16SByte, ou UInt32 , ele será convertido implicitamente em um Int64 valor quando o método for chamado.

Para determinar a relação entre os dois objetos em vez de apenas testar a igualdade, chame o BigInteger.CompareTo(Int64) método .

Aplica-se a

.NET 10 e outras versões
Produto Versões
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0