İngilizce dilinde oku

Aracılığıyla paylaş


StringComparer Sınıf

Tanım

Belirli büyük/küçük harf ve kültür tabanlı veya sıralı karşılaştırma kurallarını kullanan bir dize karşılaştırma işlemini temsil eder.

C#
public abstract class StringComparer : System.Collections.Generic.IComparer<string>, System.Collections.Generic.IEqualityComparer<string>, System.Collections.IComparer, System.Collections.IEqualityComparer
C#
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class StringComparer : System.Collections.Generic.IComparer<string>, System.Collections.Generic.IEqualityComparer<string>, System.Collections.IComparer, System.Collections.IEqualityComparer
Devralma
StringComparer
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki örnekte sınıfın özellikleri ve Create yöntemi gösterilmektedir StringComparer . Bu örnekte, farklı StringComparer nesnelerin I Latin harfinin üç sürümünü nasıl sıraladığım gösterilmektedir.

C#
// This example demonstrates members of the 
// System.StringComparer class.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Threading;

class Sample 
{
    public static void Main() 
    {
        // Create a list of string.
        List<string> list = new List<string>();

        // Get the tr-TR (Turkish-Turkey) culture.
        CultureInfo turkish = new CultureInfo("tr-TR");

        // Get the culture that is associated with the current thread.
        CultureInfo thisCulture = Thread.CurrentThread.CurrentCulture;

        // Get the standard StringComparers.
        StringComparer invCmp =   StringComparer.InvariantCulture;
        StringComparer invICCmp = StringComparer.InvariantCultureIgnoreCase;
        StringComparer currCmp = StringComparer.CurrentCulture;
        StringComparer currICCmp = StringComparer.CurrentCultureIgnoreCase;
        StringComparer ordCmp = StringComparer.Ordinal;
        StringComparer ordICCmp = StringComparer.OrdinalIgnoreCase;

        // Create a StringComparer that uses the Turkish culture and ignores case.
        StringComparer turkICComp = StringComparer.Create(turkish, true);

        // Define three strings consisting of different versions of the letter I.
        // LATIN CAPITAL LETTER I (U+0049)
        string capitalLetterI = "I";  

        // LATIN SMALL LETTER I (U+0069)
        string smallLetterI   = "i";

        // LATIN SMALL LETTER DOTLESS I (U+0131)
        string smallLetterDotlessI = "\u0131";

        // Add the three strings to the list.
        list.Add(capitalLetterI);
        list.Add(smallLetterI);
        list.Add(smallLetterDotlessI);

        // Display the original list order.
        Display(list, "The original order of the list entries...");

        // Sort the list using the invariant culture.
        list.Sort(invCmp);
        Display(list, "Invariant culture...");
        list.Sort(invICCmp);
        Display(list, "Invariant culture, ignore case...");

        // Sort the list using the current culture.
        Console.WriteLine("The current culture is \"{0}\".", thisCulture.Name);
        list.Sort(currCmp);
        Display(list, "Current culture...");
        list.Sort(currICCmp);
        Display(list, "Current culture, ignore case...");

        // Sort the list using the ordinal value of the character code points.
        list.Sort(ordCmp);
        Display(list, "Ordinal...");
        list.Sort(ordICCmp);
        Display(list, "Ordinal, ignore case...");

        // Sort the list using the Turkish culture, which treats LATIN SMALL LETTER 
        // DOTLESS I differently than LATIN SMALL LETTER I.
        list.Sort(turkICComp);
        Display(list, "Turkish culture, ignore case...");
    }

    public static void Display(List<string> lst, string title)
    {
        Char c;
        int  codePoint;
        Console.WriteLine(title);
        foreach (string s in lst)
        {
            c = s[0];
            codePoint = Convert.ToInt32(c);
            Console.WriteLine("0x{0:x}", codePoint); 
        }
        Console.WriteLine();
    }
}
/*
This code example produces the following results:

The original order of the list entries...
0x49
0x69
0x131

Invariant culture...
0x69
0x49
0x131

Invariant culture, ignore case...
0x49
0x69
0x131

The current culture is "en-US".
Current culture...
0x69
0x49
0x131

Current culture, ignore case...
0x49
0x69
0x131

Ordinal...
0x49
0x69
0x131

Ordinal, ignore case...
0x69
0x49
0x131

Turkish culture, ignore case...
0x131
0x49
0x69

*/

Açıklamalar

Bu API hakkında daha fazla bilgi için bkz . StringComparer için ek API açıklamaları.

Oluşturucular

StringComparer()

StringComparer sınıfının yeni bir örneğini başlatır.

Özellikler

CurrentCulture

Geçerli kültürün sözcük karşılaştırma kurallarını kullanarak büyük/küçük harfe duyarlı dize karşılaştırması gerçekleştiren bir StringComparer nesnesi alır.

CurrentCultureIgnoreCase

Geçerli kültürün sözcük karşılaştırma kurallarını kullanarak büyük/küçük harfe duyarsız dize karşılaştırmaları gerçekleştiren bir StringComparer nesnesi alır.

InvariantCulture

Sabit kültürün sözcük karşılaştırma kurallarını kullanarak büyük/küçük harfe duyarlı dize karşılaştırması gerçekleştiren bir StringComparer nesnesi alır.

InvariantCultureIgnoreCase

StringComparer Sabit kültürün sözcük karşılaştırma kurallarını kullanarak büyük/küçük harfe duyarsız dize karşılaştırması gerçekleştiren bir nesnesi alır.

Ordinal

StringComparer Büyük/küçük harfe duyarlı sıralı dize karşılaştırması gerçekleştiren bir nesne alır.

OrdinalIgnoreCase

StringComparer Büyük/küçük harfe duyarsız sıralı dize karşılaştırması gerçekleştiren bir nesne alır.

Yöntemler

Compare(Object, Object)

Türetilmiş bir sınıfta geçersiz kılındığında, iki nesneyi karşılaştırır ve göreli sıralama düzenlerinin bir göstergesini döndürür.

Compare(String, String)

Türetilmiş bir sınıfta geçersiz kılındığında, iki dizeyi karşılaştırır ve göreli sıralama düzenlerinin bir göstergesini döndürür.

Create(CultureInfo, Boolean)

StringComparer Dizeleri belirtilen kültürün kurallarına göre karşılaştıran bir nesne oluşturur.

Create(CultureInfo, CompareOptions)

Dizeleri belirtilen kültür StringComparer ve dize seçeneklerinin kurallarına göre karşılaştıran bir nesne oluşturur.

Equals(Object, Object)

Türetilmiş bir sınıfta geçersiz kılındığında, iki nesnenin eşit olup olmadığını gösterir.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
Equals(String, String)

Türetilmiş bir sınıfta geçersiz kılındığında, iki dizenin eşit olup olmadığını gösterir.

FromComparison(StringComparison)

Belirtilen StringComparison örneği örneğe StringComparer dönüştürür.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetHashCode(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen nesnenin karma kodunu alır.

GetHashCode(String)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen dizenin karma kodunu alır.

GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsWellKnownCultureAwareComparer(IEqualityComparer<String>, CompareInfo, CompareOptions)

Belirtilen IEqualityComparer<T> değerin iyi bilinen bir kültür kullanan dize karşılaştırıcısı olup olmadığını belirler.

IsWellKnownOrdinalComparer(IEqualityComparer<String>, Boolean)

Belirtilen IEqualityComparer<T> değerin iyi bilinen bir sıralı dize karşılaştırıcısı olup olmadığını belirler.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

IComparer.Compare(Object, Object)

İki nesneyi karşılaştırır ve birinin diğerinden küçük, ona eşit veya ondan büyük olup olmadığını belirten bir değer döndürür.

IEqualityComparer.Equals(Object, Object)

Belirtilen nesnelerin eşit olup olmadığını belirler.

IEqualityComparer.GetHashCode(Object)

Belirtilen nesne için bir karma kodu döndürür.

Şunlara uygulanır

Ürün Sürümler
.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 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 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

Ayrıca bkz.