Guid.IComparable.CompareTo(Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
Um número assinado que indica os valores relativos dessa instância e de value
.
Valor retornado | Descrição |
---|---|
Um inteiro negativo | Esta instância é menor que value . |
Zero | Esta instância é igual a value . |
Um inteiro positivo | Esta 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.