Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

StringComparer classe

 

Date de publication : novembre 2016

Représente une opération de comparaison de chaînes qui utilise des règles de tri spécifiques basées sur la casse et la culture ou des règles de comparaison ordinale.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  System.StringComparer

[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class StringComparer : IComparer, IEqualityComparer, 
	IComparer<string>, IEqualityComparer<string>

NomDescription
System_CAPS_protmethodStringComparer()

Initialise une nouvelle instance de la classe StringComparer.

NomDescription
System_CAPS_pubpropertySystem_CAPS_staticCurrentCulture

Obtient un objet StringComparer qui exécute une comparaison de chaînes respectant la casse à l'aide des règles de comparaison de mots de la culture actuelle.

System_CAPS_pubpropertySystem_CAPS_staticCurrentCultureIgnoreCase

Obtient un objet StringComparer qui effectue des comparaisons de chaînes ne respectant pas la casse à l'aide des règles de comparaison de mots de la culture actuelle.

System_CAPS_pubpropertySystem_CAPS_staticInvariantCulture

Obtient un objet StringComparer qui exécute une comparaison de chaînes respectant la casse à l'aide des règles de comparaison de mots de la culture indifférente.

System_CAPS_pubpropertySystem_CAPS_staticInvariantCultureIgnoreCase

Obtient un objet StringComparer qui exécute une comparaison de chaînes ne respectant pas la casse à l'aide des règles de comparaison de mots de la culture indifférente.

System_CAPS_pubpropertySystem_CAPS_staticOrdinal

Obtient un objet StringComparer qui effectue une comparaison de chaînes ordinale respectant la casse.

System_CAPS_pubpropertySystem_CAPS_staticOrdinalIgnoreCase

Obtient un objet StringComparer qui effectue une comparaison de chaînes ordinale ne respectant pas la casse.

NomDescription
System_CAPS_pubmethodCompare(Object, Object)

En cas de substitution dans une classe dérivée, compare deux objets et retourne une indication de leur ordre de tri relatif.

System_CAPS_pubmethodCompare(String, String)

En cas de substitution dans une classe dérivée, compare deux chaînes et retourne une indication de leur ordre de tri relatif.

System_CAPS_pubmethodSystem_CAPS_staticCreate(CultureInfo, Boolean)

Crée un objet StringComparer qui compare des chaînes d'après les règles d'une culture spécifiée.

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_pubmethodEquals(Object, Object)

En cas de substitution dans une classe dérivée, indique si deux objets sont égaux.

System_CAPS_pubmethodEquals(String, String)

En cas de substitution dans une classe dérivée, indique si deux chaînes sont égales.

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetHashCode(Object)

En cas de substitution dans une classe dérivée, obtient le code de hachage pour l'objet spécifié.

System_CAPS_pubmethodGetHashCode(String)

En cas de substitution dans une classe dérivée, obtient le code de hachage pour la chaîne spécifiée.

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

Objet dérivé de la StringComparer classe représente la comparaison basée sur une chaîne, d’égalité et les opérations de code de hachage qui prennent en compte les règles de comparaison propres à la culture et de casse. Vous pouvez utiliser la StringComparer classe pour créer une comparaison spécifique au type pour trier les éléments dans une collection générique. Classes telles que Hashtable, Dictionary<TKey, TValue>, SortedList, et SortedList<TKey, TValue> utiliser le StringComparer classe pour le tri.

Une opération de comparaison qui est représentée par la StringComparer classe est définie à la casse ou non, et à utiliser des mots (dépendantes de la culture) ou des règles de comparaison (indépendantes de la culture) ordinale. Pour plus d’informations sur les mots et les règles de comparaison ordinale, consultez System.Globalization.CompareOptions.

Vous pouvez être confondue sur l’utilisation du StringComparer propriétés de classe en raison d’une contradiction apparente. Le StringComparer classe est déclarée abstract (MustInherit en Visual Basic), ce qui signifie que ses membres peut être appelée uniquement sur un objet d’une classe dérivée de la StringComparer classe. La contradiction est que chaque propriété de la StringComparer classe est déclarée static (Shared en Visual Basic), ce qui signifie que la propriété peut être appelée sans créer au préalable une classe dérivée.

Vous pouvez appeler une StringComparer propriété directement parce que chaque propriété retourne une instance d’une classe anonyme qui est dérivée de la StringComparer classe. Par conséquent, le type de chaque valeur de propriété est StringComparer, qui n’est pas la classe de base de la classe anonyme, le type de l’anonyme classe elle-même. Chaque StringComparer classe de propriété retourne un StringComparer objet prenant en charge les règles de casse et de comparaison prédéfinies.

L’exemple suivant illustre les propriétés et les Create méthode de la StringComparer classe. L’exemple illustre comment les différents StringComparer objets trient trois versions de la Latin lettre I.

// 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

*/

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 2.0
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: