CompareInfo Classe

Définition

Implémente un ensemble de méthodes applicables aux comparaisons de chaînes sensible à la culture.Implements a set of methods for culture-sensitive string comparisons.

public ref class CompareInfo : System::Runtime::Serialization::IDeserializationCallback
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class CompareInfo : System.Runtime.Serialization.IDeserializationCallback
type CompareInfo = class
    interface IDeserializationCallback
Public Class CompareInfo
Implements IDeserializationCallback
Héritage
CompareInfo
Attributs
Implémente

Exemples

L’exemple suivant montre comment l' CompareInfo objet associé à un CultureInfo objet affecte la comparaison de chaînes.The following example shows how the CompareInfo object associated with a CultureInfo object affects string comparison.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;

int main()
{
    array<String^>^ sign = gcnew array<String^> { "<", "=", ">" };

    // The code below demonstrates how strings compare
    // differently for different cultures.
    String^ s1 = "Coté"; 
    String^ s2 = "coté";
    String^ s3 = "côte";

    // Set sort order of strings for French in France.
    CompareInfo^ ci = (gcnew CultureInfo("fr-FR"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.", ci->Name, ci->LCID);

    // Display the result using fr-FR Compare of Coté = coté.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s1, s2, sign[ci->Compare(s1, s2, CompareOptions::IgnoreCase) + 1]);

    // Display the result using fr-FR Compare of coté > côte.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3, CompareOptions::None) + 1]);

    // Set sort order of strings for Japanese as spoken in Japan.
    ci = (gcnew CultureInfo("ja-JP"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.", ci->Name, ci->LCID);

    // Display the result using ja-JP Compare of coté < côte.
    Console::WriteLine("ja-JP Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3) + 1]);
}

// This code produces the following output.
//
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
using System;
using System.Text;
using System.Globalization;

public sealed class App
{
    static void Main(string[] args)
    {
        String[] sign = new String[] { "<", "=", ">" };

        // The code below demonstrates how strings compare 
        // differently for different cultures.
        String s1 = "Coté", s2 = "coté", s3 = "côte";

        // Set sort order of strings for French in France.
        CompareInfo ci = new CultureInfo("fr-FR").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID);
      
        // Display the result using fr-FR Compare of Coté = coté.  	
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s1, s2, sign[ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1]);

        // Display the result using fr-FR Compare of coté > côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3, CompareOptions.None) + 1]);

        // Set sort order of strings for Japanese as spoken in Japan.
        ci = new CultureInfo("ja-JP").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID);

        // Display the result using ja-JP Compare of coté < côte. 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3) + 1]);
    }
}

// This code produces the following output.
// 
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
Imports System.Text
Imports System.Globalization

NotInheritable Public Class App
    Shared Sub Main(ByVal args() As String) 
        Dim sign() As String = {"<", "=", ">"}
        
        ' The code below demonstrates how strings compare 
        ' differently for different cultures.
        Dim s1 As String = "Coté"
        Dim s2 As String = "coté"
        Dim s3 As String = "côte"
        
        ' Set sort order of strings for French in France.
        Dim ci As CompareInfo = New CultureInfo("fr-FR").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID)
        
        ' Display the result using fr-FR Compare of Coté = coté.  	
        Console.WriteLine("fr-FR Compare: {0} {2} {1}", _
                          s1, s2, sign((ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1)))
        
        ' Display the result using fr-FR Compare of coté > côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}", _
                          s2, s3, sign((ci.Compare(s2, s3, CompareOptions.None) + 1)))
        
        ' Set sort order of strings for Japanese as spoken in Japan.
        ci = New CultureInfo("ja-JP").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID)
        
        ' Display the result using ja-JP Compare of coté < côte. 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}", _
                          s2, s3, sign((ci.Compare(s2, s3) + 1)))
    End Sub
End Class

' This code produces the following output.
' 
' The LCID for fr-FR is 1036.
' fr-FR Compare: Coté = coté
' fr-FR Compare: coté > côte
' The LCID for ja-JP is 1041.
' ja-JP Compare: coté < côte

Remarques

Les conventions de comparaison et de tri des données varient selon la culture et la culture.Conventions for comparing and sorting data vary from culture to culture. Par exemple, l’ordre de tri peut être basé sur des phonétiques ou sur la représentation visuelle des caractères.For example, sort order may be based on phonetics or on the visual representation of characters. Dans les langues d'Asie orientale, les caractères sont classés en fonction du trait et de la clé des idéogrammes.In East Asian languages, characters are sorted by the stroke and radical of ideographs. Le tri peut aussi varier en fonction de l'ordre fondamental utilisé par la langue ou la culture pour l'alphabet.Sorting also depends on the order languages and cultures use for the alphabet. Par exemple, la langue danoise emploie un caractère "Æ" qu'elle place après "Z" dans l'alphabet.For example, the Danish language has an "Æ" character that it sorts after "Z" in the alphabet. En outre, les comparaisons peuvent respecter la casse ou ne pas respecter la casse, et les règles de casse peuvent également différer selon la culture.In addition, comparisons may be case-sensitive or case-insensitive, and casing rules may also differ by culture. La CompareInfo classe est responsable de la gestion de ces données de comparaison de chaînes dépendantes de la culture et pour l’exécution d’opérations de chaînes dépendantes de la culture.The CompareInfo class is responsible for maintaining this culture-sensitive string comparison data and for performing culture-sensitive string operations.

En règle générale, il n’est pas nécessaire CompareInfo d’instancier directement un objet, car il est utilisé implicitement par toutes les opérations de comparaison de chaînes non String.Compare ordinales, y compris les appels à la méthode.Typically, you do not have to instantiate a CompareInfo object directly, because one is used implicitly by all non-ordinal string comparison operations, including calls to the String.Compare method. Toutefois, si vous souhaitez récupérer un CompareInfo objet, vous pouvez le faire de l’une des façons suivantes:However, if you do want to retrieve a CompareInfo object, you can do it in one of these ways:

Valeurs de recherche ignoréesIgnored search values

Les jeux de caractères incluent les caractères ignorables, à savoir les caractères qui ne sont pas considérés lors de l'exécution d'une comparaison linguistique ou dépendante de la culture.Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Les méthodes de comparaison IndexOf telles LastIndexOf que et ne considèrent pas ces caractères lorsqu’elles effectuent une comparaison dépendante de la culture.Comparison methods such as IndexOf and LastIndexOf do not consider such characters when they perform a culture-sensitive comparison. Les caractères pouvant être ignorés sont les suivants:Ignorable characters include:

  • String.Empty.String.Empty. Les méthodes de comparaison dépendantes de la culture trouveront toujours une chaîne vide au début (index zéro) de la chaîne recherchée.Culture-sensitive comparison methods will always find an empty string at the beginning (index zero) of the string being searched.

  • Caractère ou chaîne constitué de caractères avec des points de code qui ne sont pas pris en compte dans l’opération en raison des options de CompareOptions.IgnoreNonSpace comparaison CompareOptions.IgnoreSymbols , notamment les options et produisent des recherches dans lesquelles les symboles et la combinaison sans espacement les caractères sont ignorés.A character or string consisting of characters with code points that are not considered in the operation because of comparison options, In particular, the CompareOptions.IgnoreNonSpace and CompareOptions.IgnoreSymbols options produce searches in which symbols and nonspacing combining characters are ignored.

  • Chaîne avec des points de code qui n’ont pas de signification linguistique.A string with code points that have no linguistic significance. Par exemple, un trait d’union conditionnel (U + 00AD) est toujours ignoré dans une comparaison de chaînes dépendante de la culture.For example, a soft hyphen (U+00AD) is always ignored in a culture-sensitive string comparison.

Considérations relatives à la sécuritéSecurity considerations

Si une décision de sécurité dépend d’une comparaison de chaînes ou d’un changement de casse, InvariantCulture vous devez utiliser la propriété pour vous assurer que le comportement est cohérent, quels que soient les paramètres de culture du système d’exploitation.If a security decision depends on a string comparison or a case change, you should use the InvariantCulture property to ensure that the behavior is consistent, regardless of the culture settings of the operating system.

Notes

Lorsque cela est possible, vous devez utiliser des méthodes de comparaison de chaînes qui CompareOptions ont un paramètre de type pour spécifier le type de comparaison attendu.When possible, you should use string comparison methods that have a parameter of type CompareOptions to specify the kind of comparison expected. En règle générale, utilisez les options linguistiques (à l’aide de la culture actuelle) pour comparer les chaînes affichées dans l' Ordinal interface OrdinalIgnoreCase utilisateur et spécifiez ou pour les comparaisons de sécurité.As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify Ordinal or OrdinalIgnoreCase for security comparisons.

Propriétés

LCID

Obtient l'identificateur de culture correctement formé pour le CompareInfo en cours.Gets the properly formed culture identifier for the current CompareInfo.

Name

Obtient le nom de la culture utilisée pour trier des opérations par cet objet CompareInfo.Gets the name of the culture used for sorting operations by this CompareInfo object.

Version

Obtient des informations sur la version d'Unicode utilisée pour comparer et trier des chaînes.Gets information about the version of Unicode used for comparing and sorting strings.

Méthodes

Compare(String, Int32, Int32, String, Int32, Int32)

Compare la section d'une chaîne avec celle d'une autre chaîne.Compares a section of one string with a section of another string.

Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions)

Compare une section d'une chaîne avec une section d'une autre chaîne à l'aide de la valeur CompareOptions spécifiée.Compares a section of one string with a section of another string using the specified CompareOptions value.

Compare(String, Int32, String, Int32)

Compare la section finale d'une chaîne à la section finale d'une autre chaîne.Compares the end section of a string with the end section of another string.

Compare(String, Int32, String, Int32, CompareOptions)

Compare la section finale d'une chaîne avec celle d'une autre chaîne à l'aide de la valeur CompareOptions spécifiée.Compares the end section of a string with the end section of another string using the specified CompareOptions value.

Compare(String, String)

Compare deux chaînes.Compares two strings.

Compare(String, String, CompareOptions)

Compare deux chaînes à l'aide de la valeur CompareOptions spécifiée.Compares two strings using the specified CompareOptions value.

Equals(Object)

Détermine si l'objet spécifié est identique à l'objet CompareInfo actuel.Determines whether the specified object is equal to the current CompareInfo object.

GetCompareInfo(Int32)

Initialise un nouvel objet CompareInfo associé à la culture avec l'identificateur spécifié.Initializes a new CompareInfo object that is associated with the culture with the specified identifier.

GetCompareInfo(Int32, Assembly)

Initialise un nouvel objet CompareInfo associée à la culture spécifiée et qui utilise les méthodes de comparaison de chaînes du Assembly spécifié.Initializes a new CompareInfo object that is associated with the specified culture and that uses string comparison methods in the specified Assembly.

GetCompareInfo(String)

Initialise un nouvel objet CompareInfo associé à la culture avec le nom spécifié.Initializes a new CompareInfo object that is associated with the culture with the specified name.

GetCompareInfo(String, Assembly)

Initialise un nouvel objet CompareInfo associée à la culture spécifiée et qui utilise les méthodes de comparaison de chaînes du Assembly spécifié.Initializes a new CompareInfo object that is associated with the specified culture and that uses string comparison methods in the specified Assembly.

GetHashCode()

Est utilisé comme fonction de hachage pour le CompareInfo en cours pour les algorithmes de hachage et les structures de données, par exemple une table de hachage.Serves as a hash function for the current CompareInfo for hashing algorithms and data structures, such as a hash table.

GetHashCode(ReadOnlySpan<Char>, CompareOptions)

Obtient le code de hachage pour une étendue de caractères en fonction des options de comparaison spécifiées.Gets the hash code for a character span based on specified comparison options.

GetHashCode(String, CompareOptions)

Obtient le code de hachage pour une chaîne en fonction des options de comparaison spécifiées.Gets the hash code for a string based on specified comparison options.

GetSortKey(String)

Obtient la clé de tri pour la chaîne spécifiée.Gets the sort key for the specified string.

GetSortKey(String, CompareOptions)

Instancie un objet SortKey pour la chaîne spécifiée à l'aide de la valeur CompareOptions spécifiée.Gets a SortKey object for the specified string using the specified CompareOptions value.

GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
IndexOf(String, Char)

Recherche le caractère spécifié et retourne l'index de base zéro de la première occurrence dans la chaîne source entière.Searches for the specified character and returns the zero-based index of the first occurrence within the entire source string.

IndexOf(String, Char, CompareOptions)

Recherche le caractère spécifié et retourne l'index de base zéro de la première occurrence dans la chaîne source entière à l'aide de la valeur CompareOptions spécifiée.Searches for the specified character and returns the zero-based index of the first occurrence within the entire source string using the specified CompareOptions value.

IndexOf(String, Char, Int32)

Recherche le caractère spécifié et retourne l'index de base zéro de la première occurrence dans la section de la chaîne source comprise entre l'index spécifié et la fin de la chaîne.Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string.

IndexOf(String, Char, Int32, CompareOptions)

Recherche le caractère spécifié et retourne l'index de base zéro de la première occurrence trouvée dans la section de la chaîne source comprise entre l'index spécifié et la fin de la chaîne, à l'aide de la valeur CompareOptions.Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string using the specified CompareOptions value.

IndexOf(String, Char, Int32, Int32)

Recherche le caractère spécifié et retourne l'index de base zéro de la première occurrence trouvée dans la section de la chaîne source commençant à l'index spécifié et contenant le nombre d'éléments spécifié.Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements.

IndexOf(String, Char, Int32, Int32, CompareOptions)

Recherche le caractère spécifié et retourne l'index de base zéro de la première occurrence trouvée dans la section de la chaîne source commençant à l'index spécifié et contenant le nombre d'éléments spécifié, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified character and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements using the specified CompareOptions value.

IndexOf(String, String)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la première occurrence trouvée dans la chaîne source entière.Searches for the specified substring and returns the zero-based index of the first occurrence within the entire source string.

IndexOf(String, String, CompareOptions)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la première occurrence trouvée dans la chaîne source entière, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified substring and returns the zero-based index of the first occurrence within the entire source string using the specified CompareOptions value.

IndexOf(String, String, Int32)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la première occurrence trouvée dans la section de la chaîne source comprise entre l'index spécifié et la fin de la chaîne.Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string.

IndexOf(String, String, Int32, CompareOptions)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la première occurrence trouvée dans la section de la chaîne source comprise entre l'index spécifié et la fin de la chaîne, à l'aide de la valeur CompareOptions.Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that extends from the specified index to the end of the string using the specified CompareOptions value.

IndexOf(String, String, Int32, Int32)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la première occurrence trouvée dans la section de la chaîne source commençant à l'index spécifié et contenant le nombre d'éléments spécifié.Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements.

IndexOf(String, String, Int32, Int32, CompareOptions)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la première occurrence trouvée dans la section de la chaîne source commençant à l'index spécifié et contenant le nombre d'éléments spécifié, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified substring and returns the zero-based index of the first occurrence within the section of the source string that starts at the specified index and contains the specified number of elements using the specified CompareOptions value.

IsPrefix(String, String)

Détermine si la chaîne source spécifiée commence par le préfixe spécifié.Determines whether the specified source string starts with the specified prefix.

IsPrefix(String, String, CompareOptions)

Détermine si la chaîne source spécifiée commence par le préfixe spécifié, à l'aide de la valeur CompareOptions spécifiée.Determines whether the specified source string starts with the specified prefix using the specified CompareOptions value.

IsSortable(Char)

Indique si un caractère Unicode spécifié peut être trié.Indicates whether a specified Unicode character is sortable.

IsSortable(String)

Indique si une chaîne Unicode spécifiée peut être triée.Indicates whether a specified Unicode string is sortable.

IsSuffix(String, String)

Détermine si la chaîne source spécifiée se termine par le suffixe spécifié.Determines whether the specified source string ends with the specified suffix.

IsSuffix(String, String, CompareOptions)

Détermine si la chaîne source spécifiée se termine par le suffixe spécifié, à l'aide de la valeur CompareOptions spécifiée.Determines whether the specified source string ends with the specified suffix using the specified CompareOptions value.

LastIndexOf(String, Char)

Recherche le caractère spécifié et retourne l'index de base zéro de la dernière occurrence dans la chaîne source entière.Searches for the specified character and returns the zero-based index of the last occurrence within the entire source string.

LastIndexOf(String, Char, CompareOptions)

Recherche le caractère spécifié et retourne l'index de base zéro de la dernière occurrence dans la chaîne source entière, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified character and returns the zero-based index of the last occurrence within the entire source string using the specified CompareOptions value.

LastIndexOf(String, Char, Int32)

Recherche le caractère spécifié et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source comprise entre le début de la chaîne et l'index spécifié.Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index.

LastIndexOf(String, Char, Int32, CompareOptions)

Recherche le caractère spécifié et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source comprise entre le début de la chaîne et l'index spécifié, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index using the specified CompareOptions value.

LastIndexOf(String, Char, Int32, Int32)

Recherche le caractère spécifié et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source contenant le nombre d'éléments spécifié et se terminant à l'index spécifié.Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index.

LastIndexOf(String, Char, Int32, Int32, CompareOptions)

Recherche le caractère spécifié et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source contenant le nombre d'éléments spécifié et se terminant à l'index spécifié, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified character and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index using the specified CompareOptions value.

LastIndexOf(String, String)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la dernière occurrence dans la chaîne source entière.Searches for the specified substring and returns the zero-based index of the last occurrence within the entire source string.

LastIndexOf(String, String, CompareOptions)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la dernière occurrence dans la chaîne source entière, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified substring and returns the zero-based index of the last occurrence within the entire source string using the specified CompareOptions value.

LastIndexOf(String, String, Int32)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source comprise entre le début de la chaîne et l'index spécifié.Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index.

LastIndexOf(String, String, Int32, CompareOptions)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source comprise entre le début de la chaîne et l'index spécifié, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that extends from the beginning of the string to the specified index using the specified CompareOptions value.

LastIndexOf(String, String, Int32, Int32)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source contenant le nombre d'éléments spécifié et se terminant à l'index spécifié.Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index.

LastIndexOf(String, String, Int32, Int32, CompareOptions)

Recherche la sous-chaîne spécifiée et retourne l'index de base zéro de la dernière occurrence dans la section de la chaîne source contenant le nombre d'éléments spécifié et se terminant à l'index spécifié, à l'aide de la valeur CompareOptions spécifiée.Searches for the specified substring and returns the zero-based index of the last occurrence within the section of the source string that contains the specified number of elements and ends at the specified index using the specified CompareOptions value.

MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet CompareInfo actuel.Returns a string that represents the current CompareInfo object.

Implémentations d’interfaces explicites

IDeserializationCallback.OnDeserialization(Object)

S'exécute une fois que le graphique d'objets est complètement désérialisé.Runs when the entire object graph has been deserialized.

Méthodes d’extension

GetStringComparer(CompareInfo, CompareOptions)

Retourne un objet StringComparer basé sur les règles de comparaison de chaînes sensible à la culture d’un objet CompareInfo spécifié.Returns a StringComparer object based on the culture-sensitive string comparison rules of a specified CompareInfo object.

S’applique à

Voir aussi