Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

CompareInfo.Compare, méthode (String, Int32, Int32, String, Int32, Int32)

Compare la section d'une chaîne avec celle d'une autre chaîne.

Espace de noms :  System.Globalization
Assembly :  mscorlib (dans mscorlib.dll)
public virtual int Compare(
	string string1,
	int offset1,
	int length1,
	string string2,
	int offset2,
	int length2
)

Paramètres

string1
Type : System.String
Première chaîne à comparer.
offset1
Type : System.Int32
Index de base zéro du caractère de string1 au niveau duquel commencer la comparaison.
length1
Type : System.Int32
Nombre de caractères consécutifs dans string1 à comparer.
string2
Type : System.String
Deuxième chaîne à comparer.
offset2
Type : System.Int32
Index de base zéro du caractère de string2 au niveau duquel commencer la comparaison.
length2
Type : System.Int32
Nombre de caractères consécutifs dans string2 à comparer.

Valeur de retour

Type : System.Int32
Entier signé 32 bits qui indique la relation lexicale entre les deux comparateurs.

Valeur

Condition

zéro

Les deux chaînes sont égales.

inférieure à zéro

La section spécifiée dans string1 est inférieure à la section spécifiée dans string2.

supérieure à zéro

La section spécifiée dans string1 est supérieure à la section spécifiée dans string2.

ExceptionCondition
ArgumentOutOfRangeException

offset1 ou length1 ou offset2 ou length2 est inférieur à zéro.

ou

offset1 est supérieur ou égal au nombre de caractères de string1.

ou

offset2 est supérieur ou égal au nombre de caractères de string2.

ou

length1 est supérieur au nombre de caractères compris entre offset1 et la fin de string1.

ou

length2 est supérieur au nombre de caractères compris entre offset2 et la fin de string2.

Si une décision de sécurité dépend d'une comparaison de chaînes ou d'un changement de casse, vous devez utiliser la propriété d' InvariantCulture pour garantir que le comportement est cohérent indépendamment des paramètres de culture du système d'exploitation.

RemarqueRemarque

Si possible, vous devez utiliser les méthodes de comparaison de chaînes qui ont un paramètre de type CompareOptions pour spécifier le type de comparaison prévu. En règle générale, utilisez les options linguistiques (à l'aide de la culture actuelle) pour comparer des chaînes affichées dans l'interface et spécifiez Ordinal ou OrdinalIgnoreCase pour les comparaisons de sécurité.

Remarques à l'attention des appelants

Les jeux de caractères incluent des caractères pouvant être ignoré. La méthode d' Compare(String, Int32, Int32, String, Int32, Int32) ne considère pas les caractères suivants lorsqu'elle effectue une comparaison linguistique ou dépendante de la culture. Pour identifier les caractères ignorable dans votre comparaison, appeler la méthode d' Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) et fournir une valeur d' CompareOptions.Ordinal ou d' CompareOptions.OrdinalIgnoreCase pour le paramètre d' options .

L'exemple suivant compare des portions de deux chaînes utilisant les objets CompareInfo différents :


using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "calle";
      String myStr2 = "calor";

      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      CompareInfo myCompIntl = CompareInfo.GetCompareInfo( "es-ES" );

      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      CompareInfo myCompTrad = CompareInfo.GetCompareInfo( 0x040A );

      // Uses the CompareInfo property of the InvariantCulture.
      CompareInfo myCompInva = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myCompIntl.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1.Substring( 2, 2 ), myStr2.Substring( 2, 2 ) );
      Console.WriteLine( "   With myCompIntl.Compare: {0}", myCompIntl.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
      Console.WriteLine( "   With myCompTrad.Compare: {0}", myCompTrad.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
      Console.WriteLine( "   With myCompInva.Compare: {0}", myCompInva.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );

   }

}


/*
This code produces the following output.

Comparing "ll" and "lo"
   With myCompIntl.Compare: -1
   With myCompTrad.Compare: 1
   With myCompInva.Compare: -1

*/


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.