Ler em inglês

Compartilhar via


IdnMapping.GetHashCode Método

Definição

Retorna um código hash para esse objeto IdnMapping.

public override int GetHashCode ();

Retornos

Uma de quatro constantes com sinal de 32 bits derivadas das propriedades de um objeto IdnMapping. O valor retornado não tem nenhum significado especial e não é adequado para uso em um algoritmo de código hash.

Exemplos

O exemplo a seguir pressupõe que uma única cadeia de caracteres pode conter vários endereços de email separados por espaços. Ele remove a parte local e o caractere @ de cada endereço de email e passa o nome de domínio resultante para o GetAscii(String, Int32) método ou GetAscii(String, Int32, Int32) para criar um nome de domínio punycode. Em GetUnicode(String, Int32, Int32) seguida, o método converte o nome de domínio punycode de volta no nome de domínio original.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string email = "johann_doe@bücher.com john_doe@hotmail.com иван@мойдомен.рф";
      IdnMapping idn = new IdnMapping();
      int start = 0, end = 0;

      while (end >= 0) {
         start = email.IndexOf("@", end);
         end = email.IndexOf(" ", start);
         string domain = String.Empty;

         try {
            string punyCode = String.Empty;
            if (start >= 0 && end >= 0) {
               domain = email.Substring(start + 1, end - start - 1);
               punyCode = idn.GetAscii(email, start + 1, end - start - 1);
            }
            else {
               domain = email.Substring(start + 1);
               punyCode = idn.GetAscii(email, start + 1);
            }
            string name2 = idn.GetUnicode(punyCode);
            Console.WriteLine("{0} --> {1} --> {2}", domain, punyCode, name2);
         }
         catch (ArgumentException) {
            Console.WriteLine("{0} is not a valid domain name.", domain);
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       bücher.com --> xn--bcher-kva.com --> bücher.com
//
//       hotmail.com --> hotmail.com --> hotmail.com
//
//       мойдомен.рф --> xn--d1acklchcc.xn--p1ai --> мойдомен.рф

Comentários

Substitua o método se o GetHashCode aplicativo precisar implementar um algoritmo de código hash significativo.

Aplica-se a

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
.NET Framework 2.0, 3.0, 3.5, 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 2.0, 2.1
UWP 10.0