Exporter (0) Imprimer
Développer tout

String, classe

Représente du texte sous forme d'une série de caractères Unicode.

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

[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class String : IComparable, ICloneable, IConvertible, 
	IComparable<string>, IEnumerable<string>, IEnumerable, 
	IEquatable<string>
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class String implements IComparable, ICloneable, 
	IConvertible, IComparable<String>, IEnumerable<String>, 
	IEnumerable, IEquatable<String>
SerializableAttribute 
ComVisibleAttribute(true) 
public final class String implements IComparable, ICloneable, 
	IConvertible, IComparable<String>, IEnumerable<String>, 
	IEnumerable, IEquatable<String>

Une chaîne est une collection séquentielle de caractères Unicode utilisée pour représenter du texte. Un objet String est une collection séquentielle d'objets System.Char représentant une chaîne. La valeur de l'objet String correspond au contenu de la collection séquentielle et elle est immuable.

Un objet String est dit immuable (en lecture seule) parce que sa valeur ne peut pas être modifiée une fois qu'il a été créé. Les méthodes qui semblent modifier un objet String retournent en fait un nouvel objet String contenant la modification. Utilisez la classe System.Text.StringBuilder s'il s'avère nécessaire de modifier le contenu réel d'un objet chaîne.

Chaque caractère Unicode d'une chaîne est défini par une valeur scalaire Unicode, également appelée point de code Unicode ou valeur ordinale (numérique) du caractère Unicode. Chaque point de code est codé à l'aide du codage UTF-16 et la valeur numérique de chaque élément du codage est représentée par un objet Char.

En général, un objet Char unique représente un point de code unique ; autrement dit, la valeur numérique de Char est égale au point de code. Toutefois, un point de code peut requérir plusieurs éléments codés. Ainsi, un point de code Unicode supplémentaire (paire de substitution) est codé à l'aide de deux objets Char.

Index

Un index définit la position d'un objet Char, et non d'un caractère Unicode, dans un String. Un index est un nombre non négatif de base zéro qui commence à la première position dans la chaîne, ce qui correspond à la position d'index zéro. Un caractère Unicode peut être codé à l'aide de plusieurs objets Char et des valeurs d'index consécutives peuvent donc ne pas correspondre à des caractères Unicode consécutifs. Pour manipuler chaque caractère Unicode au lieu de chaque objet Char, utilisez la classe System.Globalization.StringInfo.

Comparaison entre les opérations ordinales et les opérations dépendantes d'une culture

Les membres de la classe String exécutent une opération ordinale ou linguistique sur un objet String. Une opération ordinale s'applique à la valeur numérique de chaque objet Char. Une opération linguistique s'applique à la valeur de String, en tenant compte des règles spécifiques à la culture se rapportant à la casse, au tri, à la mise en forme et à l'analyse. Les opérations linguistiques sont exécutées dans le contexte d'une culture déclarée de manière explicite ou de la culture en cours implicite. Pour plus d'informations sur la culture en cours, consultez la rubrique CultureInfo.CurrentCulture.

Les règles se rapportant à la casse déterminent comment modifier la casse d'un caractère Unicode, par exemple, de minuscule à majuscule.

Les règles de mise en forme déterminent comment convertir une valeur en représentation sous forme de chaîne, tandis que les règles d'analyse spécifient comment convertir une représentation sous forme de chaîne en valeur.

Les règles de tri déterminent l'ordre alphabétique des caractères Unicode et la manière dont deux chaînes sont comparées. Par exemple, la méthode Compare effectue une comparaison linguistique tandis que la méthode CompareOrdinal effectue une comparaison ordinale. Par conséquent, si la culture est cours est Anglais (États-Unis), la méthode Compare considère "a" inférieur à "A", tandis que la méthode CompareOrdinal considère "a" supérieur à "A".

Le .NET Framework prend en charge les règles de tri des mots, des chaînes, ainsi que les règles de tri ordinal. Un tri des mots effectue une comparaison, dépendante de la culture, des chaînes dans lesquelles une pondération différente peut être assignée à certains caractères Unicode non alphanumériques. Par exemple, une très petite pondération peut être assignée au tiret ("-") afin que les mots "coop" et "co-op" se suivent dans une liste triée. Le tri des chaînes est semblable au tri des mots ; toutefois, il n'existe pas de cas spéciaux et tous les symboles non alphanumériques ont priorité sur l'ensemble des caractères Unicode alphanumériques.

Une comparaison dépendante de la culture est une comparaison qui utilise explicitement ou implicitement un objet CultureInfo, y compris la culture indifférente qui est spécifiée par la propriété CultureInfo.InvariantCulture. La culture implicite en cours est spécifiée par la propriété Thread.CurrentCulture.

Un tri ordinal effectue une comparaison des chaînes en se basant sur la valeur numérique de chaque objet Char de la chaîne. Une comparaison ordinale respecte automatiquement la casse, car les versions minuscules et majuscules d'un caractère ont des points de code différents. Toutefois, si la casse n'est pas importante dans votre application, vous pouvez spécifier une comparaison ordinale qui ignore la casse. Cela équivaut à convertir la chaîne en majuscules à l'aide de la culture indifférente et à effectuer ensuite une comparaison ordinale du résultat.

Pour plus d'informations sur les règles applicables au tri des mots, des chaînes et au tri ordinal, consultez la rubrique System.Globalization.CompareOptions.

Une comparaison dépendante de la culture est en général appropriée au tri, contrairement à une comparaison ordinale. Une comparaison ordinale est généralement appropriée pour déterminer si deux chaînes sont égales (c'est-à-dire pour déterminer l'identité), contrairement à une comparaison dépendante de la culture.

Les notes sur les méthodes de comparaison et de recherche spécifient si la méthode respecte la casse et/ou si elle est dépendante de la culture. Par définition, toute chaîne, y compris la chaîne vide (""), est supérieure à une référence null et deux références null sont égales.

Normalisation

Certains caractères Unicode ont plusieurs représentations binaires équivalentes, consistant en des combinaisons de caractères Unicode ou de caractères Unicode composites. La norme Unicode définit un processus appelé normalisation qui retourne une représentation binaire lorsqu'une représentation binaire équivalente d'un caractère est donnée. La normalisation peut être effectuée avec plusieurs algorithmes, appelés formulaires de normalisation et régis par des règles différentes. Le .NET Framework prend actuellement en charge les formulaires de normalisation C, D, KC et KD. Une paire de chaînes normalisées est généralement évaluée avec une comparaison ordinale.

Considérations sur la sécurité

Si votre application prend une décision de sécurité à propos d'un identificateur symbolique tel qu'un nom de fichier ou canal nommé, ou des données rendues persistantes telles que les données textuelles dans un fichier XML, l'opération doit utiliser une comparaison ordinale plutôt qu'une comparaison dépendante de la culture. En effet, une comparaison dépendante de la culture peut produire des résultats différents selon la culture concernée, tandis qu'une comparaison ordinale dépend uniquement de la valeur binaire des caractères comparés.

Fonctionnalités

La classe String fournit des membres pour comparer les objets String, retourner l'index d'un caractère ou d'une chaîne dans un objet String, copier la valeur d'un objet String, partitionner une chaîne ou regrouper des chaînes, modifier une valeur de chaîne, mettre en forme des nombres, des dates et des heures – ou les valeurs d'énumération d'une chaîne – et normaliser une chaîne.

  • Utilisez les méthodes Compare, CompareOrdinal, CompareTo, Equals, EndsWith et StartsWith pour les comparaisons.

  • Utilisez les méthodes IndexOf, IndexOfAny, LastIndexOf et LastIndexOfAny pour obtenir l'index d'une sous-chaîne ou d'un caractère Unicode dans une chaîne.

  • Utilisez Copy et CopyTo pour copier une chaîne ou une sous-chaîne dans une autre chaîne ou dans un tableau de type Char.

  • Utilisez les méthodes Substring et Split pour créer une ou plusieurs chaînes à partir de segments d'une chaîne d'origine ; utilisez les méthodes Concat et Join pour créer une nouvelle chaîne à partir d'une ou de plusieurs sous-chaînes.

  • Utilisez Insert, Replace, Remove, PadLeft, PadRight, Trim, TrimEnd et TrimStart pour modifier la totalité ou une partie d'une chaîne.

  • Utilisez les méthodes ToLower, ToLowerInvariant, ToUpper et ToUpperInvariant pour changer la casse des caractères Unicode d'une chaîne.

  • Utilisez Format pour remplacer un ou plusieurs espaces réservés d'élément de format dans une chaîne par la représentation textuelle d'une ou de plusieurs valeurs numériques, de date et d'heure ou d'énumération.

  • Utilisez la propriété Length pour obtenir le nombre d'objets Char dans une chaîne, et la propriété Chars pour accéder aux objets Char réels dans une chaîne.

  • Utilisez la méthode IsNormalized pour tester si une chaîne est normalisée selon un formulaire de normalisation particulier. Utilisez la méthode Normalize pour créer une chaîne normalisée selon un formulaire de normalisation particulier.

Interfaces implémentées

La classe String implémente les interfaces IComparable, ICloneable, IConvertible, IEnumerable et IComparable. Pour les conversions, utilisez la classe Convert au lieu de l'implémentation du membre d'interface explicite de IConvertible de ce type.

Ce type est sécurisé pour les opérations multithread.

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0

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,
Afficher:
© 2014 Microsoft