Guid.IComparable.CompareTo(Object) Método

Definição

Compara essa instância com um objeto Guid especificado e retorna uma indicação dos valores relativos.

 virtual int System.IComparable.CompareTo(System::Object ^ value) = IComparable::CompareTo;
int IComparable.CompareTo (object value);
abstract member System.IComparable.CompareTo : obj -> int
override this.System.IComparable.CompareTo : obj -> int
Function CompareTo (value As Object) As Integer Implements IComparable.CompareTo

Parâmetros

value
Object

Um objeto a ser comparado com a instância.

Retornos

Int32

Um número assinado que indica os valores relativos dessa instância e de value.

Valor retornadoDescrição
Um inteiro negativoEsta instância é menor que value.
ZeroEsta instância é igual a value.
Um inteiro positivoEsta instância é maior que value.

Implementações

Comentários

Este membro é uma implementação do membro de interface explícita. Ela só pode ser usada quando a Guid instância é convertida em uma IComparable interface.

O CompareTo método compara os GUIDs como se fossem valores fornecidos ao Guid(Int32, Int16, Int16, Byte[]) construtor, da seguinte maneira:

  • Ele compara os UInt32 valores e retorna um resultado se eles forem desiguais. Se forem iguais, ele executará a próxima comparação.
  • Ele compara os primeiros UInt16 valores e retorna um resultado se eles forem desiguais. Se forem iguais, ele executará a próxima comparação.
  • Ele compara os segundos UInt16 valores e retorna um resultado se eles forem desiguais. Se forem iguais, ele executará a próxima comparação.
  • Se executar uma comparação byte por byte dos próximos oito Byte valores. Quando ele encontra o primeiro par desigual, ele retorna o resultado. Caso contrário, ele retorna 0 para indicar que os dois Guid valores são iguais.

Observe que os oito bytes finais aparecem na representação de cadeia de caracteres de uma Guid ordem inversa, de byte baixo a byte alto. Por exemplo, na representação de cadeia de caracteres do Guid valor "01e75c83-c6f5-4192-b57e-7427cec5560d", os oito bytes finais são "b57e-7427cec5560d". Em outras palavras, os oito bytes finais são comparados em uma base byte da esquerda para a direita começando com 0xb5.

Se dois GUIDs tiverem valores iguais para um componente, o método comparará o próximo componente. Quando encontra um componente cujos valores são diferentes, ele retorna o resultado.

Esse método implementa a System.IComparable<T> interface e executa um pouco melhor do que o Guid.CompareTo método porque não precisa converter o value parâmetro em um Guid valor.

Aplica-se a