Utilisation de la propriété CurrentCulture

[Cette documentation constitue un aperçu et pourra faire l'objet de modifications dans les versions ultérieures. Des rubriques vierges sont incluses en tant qu'espaces réservés.]

La propriété CurrentCulture représente les informations de la culture actuelle par thread. Ces informations déterminent les formats par défaut des dates, des heures, des montants monétaires et des nombres, l'ordre de tri du texte, les comparaisons de chaînes et le choix de la casse. Le paramétrage effectué à travers cette propriété n'est pas un paramétrage linguistique. La propriété se contente de définir des données liées aux paramètres standard en vigueur dans une région géographique. Par conséquent, votre application peut uniquement attribuer à CurrentCulture une culture spécifique ou InvariantCulture. L'application peut utiliser la propriété CurrentThread pour définir CurrentCulture.

Notes

La modification de la culture de CurrentThread nécessite un objet SecurityPermission avec l'indicateur ControlThread défini.L'état de sécurité associé aux threads rend la manipulation de threads dangereuse.Par conséquent, cette autorisation ne doit être accordée qu'au code fiable et uniquement en cas de nécessité.Vous ne pouvez pas modifier la culture d'un thread dans du code de niveau de confiance partiel.

Définition explicite de la propriété CurrentCulture

Votre application peut définir la propriété CurrentCulture explicitement. L'exemple de code suivant affecte la culture spécifique de l'Allemagne, représentée par « de-DE », à la propriété.

Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE")
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");

Votre application doit utiliser une culture spécifique pour initialiser la propriété CurrentCulture. La propriété attend en effet une culture associée à une langue et un pays/région, par exemple Anglais (États-Unis) désigné par « en-US ». Comme une langue est souvent parlée dans plusieurs pays ou régions, il est nécessaire de préciser la région pour déterminer les conventions de mise en forme à utiliser. Par exemple, si votre application spécifie la culture « en » pour l'anglais neutre, il existe plusieurs paramètres corrects définissant le format de la date ou des montants monétaires. La date peut être format américain ou britannique. La monnaie peut être au format néo-zélandais ou canadien. Si l'application tente de définir la propriété CurrentCulture en spécifiant une culture neutre, une exception est levée.

Si vous n'avez accès qu'à une culture neutre, votre application peut créer un objet CultureInfo au format attendu par la propriété CurrentCulture à l'aide de la méthode CreateSpecificCulture. Cette méthode mappe une culture neutre sur la culture spécifique par défaut à laquelle elle est associée, puis crée un objet CultureInfo qui représente cette culture spécifique. L'exemple de code suivant utilise la méthode CreateSpecificCulture pour mapper la culture neutre allemande (« de ») sur la culture spécifique Allemand (Allemagne), désignée par « de-DE ». Il crée alors un objet CultureInfo pour « de-DE » et l'utilise pour initialiser la valeur de la propriété CurrentCulture.

Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de")
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de");

Notes

Cette méthode est facultative.Si le mappage qu'elle fournit ne convient pas pour votre application, elle peut lui substituer son propre mappage.

Définition explicite de la propriété CurrentCulture dans une page .aspx

La méthode CreateSpecificCulture permet également à votre application d'utiliser la langue actuelle du navigateur Web pour initialiser la propriété CurrentCulture dans une page .aspx. Dans l'exemple de code suivant, la propriété UserLanguages extrait sous forme de chaîne la langue actuelle du navigateur Web. La méthode CreateSpecificCulture analyse cette chaîne et retourne un objet CultureInfo dans le format qui peut être utilisé pour initialiser la valeur de la propriété CurrentCulture.

' Sets the CurrentCulture property to the culture associated with the Web
' browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0])
// Sets the CurrentCulture property to the culture associated with the Web
// browser's current language setting.
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);

Définition implicite de la propriété CurrentCulture

Dans le système d'exploitation Windows, la fonction GetUserDefaultLCID définit la propriété CurrentCulture. L'utilisateur peut modifier ce paramètre de propriété en modifiant les paramètres régionaux utilisateur dans la boîte de dialogue des options régionales du Panneau de configuration ou en modifiant les paramètres régionaux utilisateur, tels que les formats monétaires, de nombre, de date et d'heure.

Si vous voulez vous assurer que votre application utilise les formats par défaut fournis par le .NET Framework pour les montants monétaires, les nombres, la date et l'heure d'une culture spécifiée, obligez-la à substituer les valeurs par défaut des paramètres régionaux utilisateur. L'application doit créer un objet CultureInfo à l'aide d'une surcharge de constructeur qui accepte un paramètre useUserOverride et lui donner la valeur false. Cette technique provoque la substitution des paramètres par défaut du .NET Framework aux paramètres par défaut en vigueur sur le système d'exploitation de l'utilisateur. Lorsque vous définissez le format de la monnaie pour les pays de l'Union européenne membres de la zone euro, il est recommandé que votre application affecte la valeur useUserOverride au paramètre false pour vous assurer que le symbole monétaire correct sera utilisé.

Voir aussi

Référence

System.Globalization.CultureInfo

CurrentCulture

CurrentUICulture

Concepts

Utilisation de la classe CultureInfo

Utilisation de la propriété InvariantCulture