CompareInfo.GetHashCode Yöntem

Tanım

Bu CompareInfo örnek veya belirli bir dize için bir karma kodu döndürür.

Aşırı Yüklemeler

GetHashCode(String, CompareOptions)

Belirtilen karşılaştırma seçeneklerine göre bir dizenin karma kodunu alır.

GetHashCode()

Karma tablo gibi karma algoritmalar ve veri yapıları için geçerli CompareInfo için bir karma işlevi görür.

GetHashCode(ReadOnlySpan<Char>, CompareOptions)

Belirtilen karşılaştırma seçeneklerine göre karakter aralığı için karma kodu alır.

GetHashCode(String, CompareOptions)

Kaynak:
CompareInfo.cs
Kaynak:
CompareInfo.cs
Kaynak:
CompareInfo.cs

Belirtilen karşılaştırma seçeneklerine göre bir dizenin karma kodunu alır.

public:
 virtual int GetHashCode(System::String ^ source, System::Globalization::CompareOptions options);
public:
 int GetHashCode(System::String ^ source, System::Globalization::CompareOptions options);
public virtual int GetHashCode (string source, System.Globalization.CompareOptions options);
public int GetHashCode (string source, System.Globalization.CompareOptions options);
override this.GetHashCode : string * System.Globalization.CompareOptions -> int
Public Overridable Function GetHashCode (source As String, options As CompareOptions) As Integer
Public Function GetHashCode (source As String, options As CompareOptions) As Integer

Parametreler

source
String

Karma kodu döndürülecek dize.

options
CompareOptions

Dizelerin nasıl karşılaştırıldığını belirleyen bir değer.

Döndürülenler

32-bit imzalı tamsayı karma kodu.

Özel durumlar

source, null değeridir.

Açıklamalar

davranışıGetHashCode, ortak dil çalışma zamanının bir sürümünden diğerine veya bir .NET Framework platformundan diğerine değişebilen uygulamasına bağlıdır.

Önemli

İki dize nesnesi eşitse, GetHashCode yöntemi aynı değerleri döndürür. Ancak, her benzersiz dize değeri için benzersiz bir karma kod değeri yoktur. Farklı dizeler aynı karma kodu döndürebilir.

Karma kodun kararlı olması garanti edilmez. Özdeş dizeler için karma kodları, .NET Framework sürümleri arasında ve .NET Framework tek bir sürümü için platformlar (32 bit ve 64 bit gibi) arasında farklılık gösterebilir. Bazı durumlarda, uygulama etki alanına göre bile farklılık gösterebilirler.

Sonuç olarak, karma kodlar hiçbir zaman oluşturuldukları uygulama etki alanı dışında kullanılmamalıdır, hiçbir zaman bir koleksiyonda anahtar alanları olarak kullanılmamalıdır ve hiçbir zaman kalıcı olmamalıdır.

Ayrıca bkz.

Şunlara uygulanır

GetHashCode()

Kaynak:
CompareInfo.cs
Kaynak:
CompareInfo.cs
Kaynak:
CompareInfo.cs

Karma tablo gibi karma algoritmalar ve veri yapıları için geçerli CompareInfo için bir karma işlevi görür.

public:
 override int GetHashCode();
public override int GetHashCode ();
override this.GetHashCode : unit -> int
Public Overrides Function GetHashCode () As Integer

Döndürülenler

Geçerli CompareInfoiçin bir karma kodu.

Açıklamalar

Bu yöntem geçersiz kılar Object.GetHashCode.

Bu yöntem, yöntemine göre Equals eşit olan iki nesne için aynı karma kodu oluşturur.

Ayrıca bkz.

Şunlara uygulanır

GetHashCode(ReadOnlySpan<Char>, CompareOptions)

Kaynak:
CompareInfo.cs
Kaynak:
CompareInfo.cs
Kaynak:
CompareInfo.cs

Belirtilen karşılaştırma seçeneklerine göre karakter aralığı için karma kodu alır.

public:
 int GetHashCode(ReadOnlySpan<char> source, System::Globalization::CompareOptions options);
public int GetHashCode (ReadOnlySpan<char> source, System.Globalization.CompareOptions options);
override this.GetHashCode : ReadOnlySpan<char> * System.Globalization.CompareOptions -> int
Public Function GetHashCode (source As ReadOnlySpan(Of Char), options As CompareOptions) As Integer

Parametreler

source
ReadOnlySpan<Char>

Karma kodu döndürülecek karakter aralığı.

options
CompareOptions

Dizelerin nasıl karşılaştırıldığını belirleyen bir değer.

Döndürülenler

32-bit imzalı tamsayı karma kodu.

Açıklamalar

Bu aşırı yüklemenin davranışı, ortak dil çalışma zamanının bir sürümünden diğerine veya bir .NET uygulamasından diğerine değişebilen uygulamasına bağlıdır.

Önemli

İki karakter aralığı eşitse, bu aşırı yükleme aynı değerleri döndürür. Ancak, her benzersiz karakter aralığı değeri için benzersiz bir karma kod değeri yoktur. Farklı karakter aralıkları aynı karma kodu döndürebilir.

Karma kodun kararlı olması garanti edilmez. Aynı karakter yayılmaları için karma kodlar.NET uygulamalarının sürümleri arasında ve tek bir .NET sürümü için platformlar (32 bit ve 64 bit gibi) arasında farklılık gösterebilir.

Sonuç olarak, karma kodlar hiçbir zaman oluşturuldukları uygulama etki alanı dışında kullanılmamalıdır, hiçbir zaman bir koleksiyonda anahtar alanları olarak kullanılmamalıdır ve hiçbir zaman kalıcı olmamalıdır.

Şunlara uygulanır