Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Si vous écrivez une application qui accepte les entrées d’un utilisateur, vous ne pouvez jamais être sûr de la casse (majuscule ou inférieure) qu’ils utiliseront pour entrer les données. Souvent, vous souhaitez que les chaînes soient casées de manière cohérente, en particulier si vous les affichez dans l’interface utilisateur. Le tableau suivant décrit trois méthodes de modification de cas. Les deux premières méthodes fournissent une surcharge qui accepte une culture.
| Nom de la méthode | Utilisation |
|---|---|
| String.ToUpper | Convertit tous les caractères d’une chaîne en majuscules. |
| String.ToLower | Convertit tous les caractères d’une chaîne en minuscules. |
| TextInfo.ToTitleCase | Convertit une chaîne en majuscules initiales. |
Avertissement
Les méthodes String.ToUpper et String.ToLower ne doivent pas être utilisées pour convertir des chaînes avant de les comparer ou de vérifier leur égalité. Pour plus d’informations, consultez la section Comparer les chaînes de cas mixtes .
Comparer des chaînes de cas mixtes
Pour comparer des chaînes de cas mixtes pour déterminer leur classement, appelez l’une des surcharges de la String.CompareTo méthode avec un comparisonType paramètre et fournissez une valeur de l’un StringComparison.CurrentCultureIgnoreCaseou l’autre StringComparison.InvariantCultureIgnoreCasedes StringComparison.OrdinalIgnoreCasecomparisonType arguments. Pour une comparaison utilisant une culture spécifique autre que la culture actuelle, appelez une surcharge de la méthode String.CompareTo avec les paramètres culture et options, et fournissez une valeur de CompareOptions.IgnoreCase comme argument options.
Pour comparer des chaînes de cas mixtes pour déterminer si elles sont égales, appelez l’une des surcharges de la méthode String.Equals avec un paramètre comparisonType et fournissez une valeur de StringComparison.CurrentCultureIgnoreCase, StringComparison.InvariantCultureIgnoreCase, ou StringComparison.OrdinalIgnoreCase pour l'argument comparisonType.
Pour plus d’informations, consultez Les meilleures pratiques pour l’utilisation de chaînes.
méthode ToUpper
La String.ToUpper méthode modifie tous les caractères d’une chaîne en majuscules. L’exemple suivant transforme la chaîne « Hello World ! » toute en majuscules.
string properString = "Hello World!";
Console.WriteLine(properString.ToUpper());
// This example displays the following output:
// HELLO WORLD!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToUpper())
' This example displays the following output:
' HELLO WORLD!
L'exemple précédent est sensible à la culture par défaut ; il applique les conventions de casse de la culture actuelle. Pour effectuer une modification de casse non sensible à la culture ou pour appliquer les conventions de casse d’une culture particulière, utilisez la surcharge de méthode String.ToUpper(CultureInfo) et fournissez une valeur CultureInfo.InvariantCulture ou un objet System.Globalization.CultureInfo qui représente la culture spécifiée au paramètre culture. Pour obtenir un exemple qui montre comment utiliser la méthode ToUpper pour effectuer une modification de casse non sensible à la culture, consultez Effectuer des modifications de casse non sensibles à la culture.
méthode ToLower
La String.ToLower méthode est similaire à la méthode précédente, mais convertit à la place tous les caractères d’une chaîne en minuscules. L’exemple suivant convertit la chaîne « Hello World ! » en minuscules.
string properString = "Hello World!";
Console.WriteLine(properString.ToLower());
// This example displays the following output:
// hello world!
Dim MyString As String = "Hello World!"
Console.WriteLine(MyString.ToLower())
' This example displays the following output:
' hello world!
L’exemple précédent respecte la culture par défaut ; elle applique les conventions de casse de la culture actuelle. Pour effectuer une modification de casse insensible à la culture ou pour appliquer les conventions de casse d'une culture particulière, utilisez la surcharge de méthode String.ToLower(CultureInfo) et fournissez une valeur de CultureInfo.InvariantCulture ou un objet System.Globalization.CultureInfo qui représente la culture spécifiée au paramètre culture. Pour obtenir un exemple qui montre comment utiliser la méthode ToLower(CultureInfo) pour effectuer une modification de casse non sensible à la culture, consultez Effectuer des modifications de casse non sensibles à la culture.
méthode ToTitleCase
Le TextInfo.ToTitleCase convertit le premier caractère de chaque mot en majuscule et les caractères restants en minuscules. Toutefois, les mots entièrement majuscules sont supposés être des acronymes et ne sont pas convertis.
La méthode TextInfo.ToTitleCase est sensible à la culture ; autrement dit, elle utilise les conventions de casse d’une culture spécifique. Pour appeler la méthode, vous récupérez en premier lieu l'objet TextInfo qui représente les conventions de casse d'une culture donnée à partir de la propriété CultureInfo.TextInfo de cette culture.
L’exemple suivant transmet chaque chaîne d’un tableau à la TextInfo.ToTitleCase méthode. Les chaînes de caractères incluent des chaînes de titre appropriées ainsi que des acronymes. Les chaînes sont converties en majuscules de titre à l’aide des conventions de casse de la culture anglaise (États-Unis).
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] values = { "a tale of two cities", "gROWL to the rescue",
"inside the US government", "sports and MLB baseball",
"The Return of Sherlock Holmes", "UNICEF and children"};
TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
foreach (var value in values)
Console.WriteLine($"{value} --> {ti.ToTitleCase(value)}");
}
}
// The example displays the following output:
// a tale of two cities --> A Tale Of Two Cities
// gROWL to the rescue --> Growl To The Rescue
// inside the US government --> Inside The US Government
// sports and MLB baseball --> Sports And MLB Baseball
// The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
// UNICEF and children --> UNICEF And Children
Imports System.Globalization
Module Example
Public Sub Main()
Dim values() As String = {"a tale of two cities", "gROWL to the rescue",
"inside the US government", "sports and MLB baseball",
"The Return of Sherlock Holmes", "UNICEF and children"}
Dim ti As TextInfo = CultureInfo.CurrentCulture.TextInfo
For Each value In values
Console.WriteLine("{0} --> {1}", value, ti.ToTitleCase(value))
Next
End Sub
End Module
' The example displays the following output:
' a tale of two cities --> A Tale Of Two Cities
' gROWL to the rescue --> Growl To The Rescue
' inside the US government --> Inside The US Government
' sports and MLB baseball --> Sports And MLB Baseball
' The Return of Sherlock Holmes --> The Return Of Sherlock Holmes
' UNICEF and children --> UNICEF And Children
Notez que bien qu'elle soit adaptée à la culture, la méthode TextInfo.ToTitleCase ne fournit pas des règles de casse correctes sur le plan linguistique. Par exemple, dans l’exemple précédent, la méthode convertit « un conte de deux villes » en « A Tale Of Two Cities ». Toutefois, le titre linguistiquement correct pour la culture américaine est « Le Conte de deux cités ».