CultureInfo, classe
Assembly : mscorlib (dans mscorlib.dll)
La classe CultureInfo contient des informations spécifiques à une culture, par exemple la langue, la sous-langue, le pays et/ou la région ou le calendrier associés à la culture, ainsi que les conventions applicables à cette dernière. Cette classe donne également accès à des instances de DateTimeFormatInfo, de NumberFormatInfo, de CompareInfo et de TextInfo spécifiques à la culture. Ces objets contiennent les informations requises durant des opérations spécifiques à la culture : casse, mise en forme des dates et des nombres et comparaison des chaînes.
La classe String utilise cette classe indirectement pour obtenir des informations sur la culture par défaut.
Noms et identificateurs de cultures
Les noms des cultures respectent la norme RFC 1766 au format "<languagecode2>-<country/regioncode2>", où <languagecode2> est un code de deux lettres minuscules dérivé de ISO 639-1 et <country/regioncode2> est un code de deux lettres majuscules dérivé de ISO 3166. Par exemple, Anglais U.S. est "en-US". En cas de non-disponibilité d'un code de langue à deux lettres, le code à trois lettres dérivé de ISO 639-2 est utilisé, par exemple, le code à trois lettres "div" est utilisé pour les cultures qui utilisent la langue Dhivehi. Un suffixe spécifiant le script est ajouté à certains noms de cultures. Ainsi, "-Cyrl" spécifie le script cyrillique tandis que "-Latn" spécifie le script latin.
Les noms et indicateurs de cultures prédéfinis suivants sont pris en charge et utilisés par cette classe et d'autres classes de l'espace de noms System.Globalization.
| Nom de culture | Identificateur de culture | Langue-Pays/Région |
|---|---|---|
| "" (chaîne vide) | 0x007F | culture indifférente |
| af | 0x0036 | Afrikaans |
| af-ZA | 0x0436 | Afrikaans - Afrique du Sud |
| sq | 0x001C | Albanais |
| sq-AL | 0x041C | Albanais - Albanie |
| ar | 0x0001 | Arabe |
| ar-DZ | 0x1401 | Arabe - Algérie |
| ar-BH | 0x3C01 | Arabe - Bahreïn |
| ar-EG | 0x0C01 | Arabe - Égypte |
| ar-IQ | 0x0801 | Arabe - Irak |
| ar-JO | 0x2C01 | Arabe - Jordanie |
| ar-KW | 0x3401 | Arabe - Koweït |
| ar-LB | 0x3001 | Arabe - Liban |
| ar-LY | 0x1001 | Arabe - Libye |
| ar-MA | 0x1801 | Arabe - Maroc |
| ar-OM | 0x2001 | Arabe - Oman |
| ar-QA | 0x4001 | Arabe - Qatar |
| ar-SA | 0x0401 | Arabe - Arabie saoudite |
| ar-SY | 0x2801 | Arabe - Syrie |
| ar-TN | 0x1C01 | Arabe - Tunisie |
| ar-AE | 0x3801 | Arabe - Émirats Arabes Unis |
| ar-YE | 0x2401 | Arabe - Yémen |
| hy | 0x002B | Arménien |
| hy-AM | 0x042B | Arménien - Arménie |
| az | 0x002C | Azéri |
| az-AZ-Cyrl | 0x082C | Azéri (Cyrillique) - Azerbaïdjan |
| az-AZ-Latn | 0x042C | Azéri (Latin) - Azerbaïdjan |
| eu | 0x002D | Basque |
| eu-ES | 0x042D | Basque - Basque |
| be | 0x0023 | Biélorusse |
| be-BY | 0x0423 | Biélorusse - Biélorussie |
| bg | 0x0002 | Bulgare |
| bg-BG | 0x0402 | Bulgare - Bulgarie |
| ca | 0x0003 | Catalan |
| ca-ES | 0x0403 | Catalan - Catalan |
| zh-HK | 0x0C04 | Chinois - Hong Kong, Région administrative spéciale de |
| zh-MO | 0x1404 | Chinois - Macao, Région administrative spéciale de |
| zh-CN | 0x0804 | Chinois - Chine |
| zh-CHS | 0x0004 | Chinois (Simplifié) |
| zh-SG | 0x1004 | Chinois - Singapour |
| zh-TW | 0x0404 | Chinois - Taïwan |
| zh-CHT | 0x7C04 | Chinois (Traditionnel) |
| hr | 0x001A | Croate |
| hr-HR | 0x041A | Croate - Croatie |
| cs | 0x0005 | Tchèque |
| cs-CZ | 0x0405 | Tchèque - République tchèque |
| da | 0x0006 | Danois |
| da-DK | 0x0406 | Danois - Danemark |
| div | 0x0065 | Dhivehi |
| div-MV | 0x0465 | Dhivehi - Maldives |
| nl | 0x0013 | Néerlandais |
| nl-BE | 0x0813 | Néerlandais - Belgique |
| nl-NL | 0x0413 | Néerlandais - Pays Bas |
| en | 0x0009 | Anglais |
| en-AU | 0x0C09 | Anglais - Australie |
| en-BZ | 0x2809 | Anglais - Belize |
| en-CA | 0x1009 | Anglais - Canada |
| en-CB | 0x2409 | Anglais - Caraïbes |
| en-IE | 0x1809 | Anglais - Irlande |
| en-JM | 0x2009 | Anglais - Jamaïque |
| en-NZ | 0x1409 | Anglais - Nouvelle Zélande |
| en-PH | 0x3409 | Anglais - Philippines |
| en-ZA | 0x1C09 | Anglais - Afrique du Sud |
| en-TT | 0x2C09 | Anglais - Îles de Trinité et de Tobago |
| en-GB | 0x0809 | Anglais - Royaume Uni |
| en-US | 0x0409 | Anglais - États-Unis |
| en-ZW | 0x3009 | Anglais - Zimbabwe |
| et | 0x0025 | Estonien |
| et-EE | 0x0425 | Estonien - Estonie |
| fo | 0x0038 | Féroïen |
| fo-FO | 0x0438 | Féroïen - Îles Féroé |
| fa | 0x0029 | Farsi |
| fa-IR | 0x0429 | Farsi - Iran |
| fi | 0x000B | Finnois |
| fi-FI | 0x040B | Finnois - Finlande |
| fr | 0x000C | Français |
| fr-BE | 0x080C | Français - Belgique |
| fr-CA | 0x0C0C | Français - Canada |
| fr-FR | 0x040C | Français - France |
| fr-LU | 0x140C | Français - Luxembourg |
| fr-MC | 0x180C | Français - Monaco |
| fr-CH | 0x100C | Français - Suisse |
| gl | 0x0056 | Galicien |
| gl-ES | 0x0456 | Galicien - Galicien |
| ka | 0x0037 | Géorgien |
| ka-GE | 0x0437 | Géorgien - Géorgie |
| de | 0x0007 | Allemand |
| de-AT | 0x0C07 | Allemand - Autriche |
| de-DE | 0x0407 | Allemand - Allemagne |
| de-LI | 0x1407 | Allemand - Liechtenstein |
| de-LU | 0x1007 | Allemand - Luxembourg |
| de-CH | 0x0807 | Allemand - Suisse |
| el | 0x0008 | Grec |
| el-GR | 0x0408 | Grec - Grèce |
| gu | 0x0047 | Gujarati |
| gu-IN | 0x0447 | Gujarati - Inde |
| he | 0x000D | Hébreu |
| he-IL | 0x040D | Hébreu - Israël |
| hi | 0x0039 | Hindi |
| hi-IN | 0x0439 | Hindi - Inde |
| hu | 0x000E | Hongrois |
| hu-HU | 0x040E | Hongrois - Hongrie |
| is | 0x000F | Islandais |
| is-IS | 0x040F | Islandais - Islande |
| id | 0x0021 | Indonésien |
| id-ID | 0x0421 | Indonésien - Indonésie |
| it | 0x0010 | Italien |
| it-IT | 0x0410 | Italien - Italie |
| it-CH | 0x0810 | Italien - Suisse |
| ja | 0x0011 | Japonais |
| ja-JP | 0x0411 | Japonais - Japon |
| kn | 0x004B | Kannada |
| kn-IN | 0x044B | Kannada - Inde |
| kk | 0x003F | Kazakh |
| kk-KZ | 0x043F | Kazakh - Kazakhstan |
| kok | 0x0057 | Konkani |
| kok-IN | 0x0457 | Konkani - Inde |
| ko | 0x0012 | Coréen |
| ko-KR | 0x0412 | Coréen - Corée |
| ky | 0x0040 | Kirghiz |
| ky-KG | 0x0440 | Kirghiz - Kirghizistan |
| lv | 0x0026 | Letton |
| lv-LV | 0x0426 | Letton - Lettonie |
| lt | 0x0027 | Lituanien |
| lt-LT | 0x0427 | Lituanien - Lituanie |
| mk | 0x002F | Macédonien |
| mk-MK | 0x042F | Macédonien - Ex-Rép. yougoslave de Macédoine |
| ms | 0x003E | Malais |
| ms-BN | 0x083E | Malais - Brunei |
| ms-MY | 0x043E | Malais - Malaisie |
| mr | 0x004E | Marathi |
| mr-IN | 0x044E | Marathi - Inde |
| mn | 0x0050 | Mongol |
| mn-MN | 0x0450 | Mongol - Mongolie |
| no | 0x0014 | Norvégien |
| nb-NO | 0x0414 | Norvégien (Bokmål) - Norvège |
| nn-NO | 0x0814 | Norvégien (Nynorsk) - Norvège |
| pl | 0x0015 | Polonais |
| pl-PL | 0x0415 | Polonais - Pologne |
| pt | 0x0016 | Portugais |
| pt-BR | 0x0416 | Portugais - Brésil |
| pt-PT | 0x0816 | Portugais - Portugal |
| pa | 0x0046 | Pendjabi |
| pa-IN | 0x0446 | Pendjabi - Inde |
| ro | 0x0018 | Roumain |
| ro-RO | 0x0418 | Roumain - Roumanie |
| ru | 0x0019 | Russe |
| ru-RU | 0x0419 | Russe - Russie |
| sa | 0x004F | Sanscrit |
| sa-IN | 0x044F | Sanscrit - Inde |
| sr-SP-Cyrl | 0x0C1A | Serbe (Cyrillique) - Serbie |
| sr-SP-Latn | 0x081A | Serbe (Latin) - Serbie |
| sk | 0x001B | Slovaque |
| sk-SK | 0x041B | Slovaque - Slovaquie |
| sl | 0x0024 | Slovène |
| sl-SI | 0x0424 | Slovène - Slovénie |
| es | 0x000A | Espagnol |
| es-AR | 0x2C0A | Espagnol - Argentine |
| es-BO | 0x400A | Espagnol - Bolivie |
| es-CL | 0x340A | Espagnol - Chili |
| es-CO | 0x240A | Espagnol - Colombie |
| es-CR | 0x140A | Espagnol - Costa Rica |
| es-DO | 0x1C0A | Espagnol - République dominicaine |
| es-EC | 0x300A | Espagnol - Équateur |
| es-SV | 0x440A | Espagnol - Salvador |
| es-GT | 0x100A | Espagnol - Guatemala |
| es-HN | 0x480A | Espagnol - Honduras |
| es-MX | 0x080A | Espagnol - Mexique |
| es-NI | 0x4C0A | Espagnol - Nicaragua |
| es-PA | 0x180A | Espagnol - Panama |
| es-PY | 0x3C0A | Espagnol - Paraguay |
| es-PE | 0x280A | Espagnol - Pérou |
| es-PR | 0x500A | Espagnol - Porto Rico |
| es-ES | 0x0C0A | Espagnol - Espagne |
| es-UY | 0x380A | Espagne - Uruguay |
| es-VE | 0x200A | Espagnol - Venezuela |
| sw | 0x0041 | Swahili |
| sw-KE | 0x0441 | Swahili - Kenya |
| sv | 0x001D | Suédois |
| sv-FI | 0x081D | Suédois - Finlande |
| sv-SE | 0x041D | Suédois - Suède |
| syr | 0x005A | Syriaque |
| syr-SY | 0x045A | Syriaque - Syrie |
| ta | 0x0049 | Tamoul |
| ta-IN | 0x0449 | Tamoul - Inde |
| tt | 0x0044 | Tatar |
| tt-RU | 0x0444 | Tatare - Russie |
| te | 0x004A | Télougou |
| te-IN | 0x044A | Télougou - Inde |
| th | 0x001E | Thaï |
| th-TH | 0x041E | Thaï - Thaïlande |
| tr | 0x001F | Turc |
| tr-TR | 0x041F | Turc - Turquie |
| uk | 0x0022 | Ukrainien |
| uk-UA | 0x0422 | Ukrainien - Ukraine |
| ur | 0x0020 | Ourdou |
| ur-PK | 0x0420 | Ourdou - Pakistan |
| uz | 0x0043 | Ouzbek |
| uz-UZ-Cyrl | 0x0843 | Ouzbek (Cyrillique) - Ouzbékistan |
| uz-UZ-Latn | 0x0443 | Ouzbek (Latin) - Ouzbékistan |
| vi | 0x002A | Vietnamien |
| vi-VN | 0x042A | Vietnamien - Vietnam |
Cultures dites indifférentes, neutres et spécifiques
Les cultures sont généralement regroupées en trois jeux : la culture dite indifférente, les cultures neutres et les cultures spécifiques.
La culture dite indifférente est non dépendante de la culture. Vous pouvez spécifier la culture dite indifférente par son nom à l'aide d'une chaîne vide ("") ou par son identificateur de culture 0x007F. InvariantCulture récupère une instance de la culture dite indifférente. Elle est associée à la langue anglaise, mais n'est associée à aucun pays/à aucune région. Elle peut être utilisée dans quasiment n'importe quelle méthode de l'espace de noms Globalization requérant une culture.
Une culture neutre est associée à une langue, mais elle n'est associée à aucun pays/à aucune région. En revanche, une culture spécifique est associée à la fois à une langue et à un pays ou une région. Par exemple, "fr" est une culture neutre et "fr-FR" est une culture spécifique. Notez que "zh-CHS" (Chinois simplifié) et "zh-CHT" (Chinois traditionnel) sont des cultures neutres.
Notez qu'il est déconseillé de créer une instance d'une classe CompareInfo pour une culture neutre car les données qu'elle contient sont arbitraires. Pour afficher et trier des données, spécifiez la langue et la région. Par ailleurs, la propriété Name d'un objet CompareInfo créée pour une culture neutre retourne uniquement le pays et n'inclut pas la région.
Les cultures ont une hiérarchie telle que le parent d'une culture spécifique est une culture neutre et le parent d'une culture neutre est InvariantCulture. La propriété Parent retourne la culture neutre associée à une culture spécifique.
Si les ressources de la culture spécifique ne sont pas disponibles dans le système, les ressources de la culture neutre sont utilisées ; si les ressources de la culture neutre ne sont pas disponibles, les ressources incorporées dans l'assembly principal sont utilisées. Pour plus d'informations sur le processus de secours pour les ressources, consultez Empaquetage et déploiement de ressources.
La liste des cultures dans l'API Windows est légèrement différente de la liste des cultures dans le .NET Framework. Par exemple, la culture neutre zh-CHT "Chinois (Traditionnel)" avec l'identificateur de culture 0x7C04 n'est pas disponible dans l'API Windows. Si l'interopérabilité avec Windows est nécessaire (par exemple, via le mécanisme p/invoke), utilisez une culture spécifique définie dans le système d'exploitation. Cela garantira la cohérence avec les paramètres régionaux Windows équivalents, identifiés par le même LCID.
DateTimeFormatInfo ou NumberFormatInfo ne peut être créé que pour la culture dite indifférente ou pour des cultures spécifiques, et non pour des cultures neutres.
Si DateTimeFormatInfo.Calendar est TaiwanCalendar mais que Thread.CurrentCulture n'est pas "zh-TW", alors DateTimeFormatInfo.NativeCalendarName, DateTimeFormatInfo.GetEraName et DateTimeFormatInfo.GetAbbreviatedEraName retournent une chaîne vide ("").
Paramètres régionaux Windows
À partir de la version 2.0 du .NET Framework, le constructeur CultureInfo prend en charge l'utilisation des paramètres régionaux Windows, qui sont équivalents aux cultures, pour générer automatiquement des cultures qui n'existent pas dans le .NET Framework. Pour plus d'informations, consultez Cultures générées à partir de paramètres régionaux Windows.
Substitutions du Panneau de configuration
L'utilisateur peut choisir de substituer certaines valeurs associées à la culture en cours de Windows par le biais des options régionales et linguistiques (ou Options régionales ou Paramètres régionaux) du Panneau de configuration. Ainsi, il peut modifier le format d'affichage des dates ou utiliser une devise autre que la devise par défaut de la culture.
Si UseUserOverride a la valeur true et si la culture spécifiée correspond à la culture en cours de Windows, CultureInfo utilise ces substitutions, notamment les paramètres utilisateur pour les propriétés de l'instance de DateTimeFormatInfo retournée par la propriété DateTimeFormat, et les propriétés de l'instance de NumberFormatInfo retournée par la propriété NumberFormat. Si les paramètres utilisateur ne sont pas compatibles avec la culture associée à CultureInfo (par exemple, si le calendrier sélectionné n'est pas l'un des OptionalCalendars), les résultats des méthodes et les valeurs des propriétés ne sont pas définis.
Dans le .NET Framework et Windows XP, l'euro est la devise par défaut des cultures qui utilisent cette devise ; toutefois, cela n'est pas le cas dans les anciennes versions de Windows. Par conséquent, la devise risque d'être incorrecte si l'utilisateur d'une version antérieure de Windows ne modifie pas la devise par le biais des Options régionales ou des Paramètres régionaux du Panneau de configuration. Pour utiliser la devise par défaut du .NET Framework, utilisez une surcharge du constructeur CultureInfo acceptant un paramètre useUserOverride et assignez-lui la valeur false.
Autres commandes de tri
L'identificateur de culture "0x0c0a" pour "Espagnol - Espagne" utilise l'ordre de tri international par défaut ; l'identificateur de culture "0x040A", également pour "Espagnol - Espagne", utilise l'ordre de tri traditionnel. Si CultureInfo est construit à l'aide du nom de culture "es-ES", le nouveau CultureInfo utilise l'ordre de tri international par défaut. Pour construire un CultureInfo qui utilise l'ordre de tri traditionnel, utilisez l'identificateur de culture "0x040A" avec le constructeur. Pour plus d'informations sur les autres cultures qui utilisent des tris secondaires, consultez Comparaison et tri des données pour une culture spécifique.
Interfaces implémentées
Cette classe implémente l'interface ICloneable pour activer la duplication d'objets CultureInfo. Elle implémente aussi IFormatProvider pour fournir les informations de mise en forme aux applications.
Cultures, threads et domaines d'application
Vous devez tenir compte de considérations uniques lorsque vous utilisez un thread associé à un objet CultureInfo. Pour plus d'informations sur les cultures et les domaines d'application, consultez Domaines d'application et threads.
L'exemple de code suivant illustre la création de CultureInfo pour "Espagnol - Espagne" avec le tri international et de CultureInfo avec le tri traditionnel.
using System; using System.Collections; using System.Globalization; public class SamplesCultureInfo { public static void Main() { // Creates and initializes the CultureInfo which uses the international sort. CultureInfo myCIintl = new CultureInfo( "es-ES", false ); // Creates and initializes the CultureInfo which uses the traditional sort. CultureInfo myCItrad = new CultureInfo( 0x040A, false ); // Displays the properties of each culture. Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "PROPERTY", "INTERNATIONAL", "TRADITIONAL" ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "CompareInfo", myCIintl.CompareInfo, myCItrad.CompareInfo ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "DisplayName", myCIintl.DisplayName, myCItrad.DisplayName ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "EnglishName", myCIintl.EnglishName, myCItrad.EnglishName ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsNeutralCulture", myCIintl.IsNeutralCulture, myCItrad.IsNeutralCulture ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "IsReadOnly", myCIintl.IsReadOnly, myCItrad.IsReadOnly ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "LCID", myCIintl.LCID, myCItrad.LCID ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Name", myCIintl.Name, myCItrad.Name ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "NativeName", myCIintl.NativeName, myCItrad.NativeName ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "Parent", myCIintl.Parent, myCItrad.Parent ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TextInfo", myCIintl.TextInfo, myCItrad.TextInfo ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterISOLanguageName", myCIintl.ThreeLetterISOLanguageName, myCItrad.ThreeLetterISOLanguageName ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "ThreeLetterWindowsLanguageName", myCIintl.ThreeLetterWindowsLanguageName, myCItrad.ThreeLetterWindowsLanguageName ); Console.WriteLine( "{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName", myCIintl.TwoLetterISOLanguageName, myCItrad.TwoLetterISOLanguageName ); Console.WriteLine(); // Compare two strings using myCIintl. Console.WriteLine( "Comparing \"llegar\" and \"lugar\"" ); Console.WriteLine( " With myCIintl.CompareInfo.Compare: {0}", myCIintl.CompareInfo.Compare( "llegar", "lugar" ) ); Console.WriteLine( " With myCItrad.CompareInfo.Compare: {0}", myCItrad.CompareInfo.Compare( "llegar", "lugar" ) ); } } /* This code produces the following output. PROPERTY INTERNATIONAL TRADITIONAL CompareInfo CompareInfo - 3082 CompareInfo - 1034 DisplayName Spanish (Spain) Spanish (Spain) EnglishName Spanish (Spain) Spanish (Spain) IsNeutralCulture False False IsReadOnly False False LCID 3082 1034 Name es-ES es-ES NativeName español (España) español (España) Parent es es TextInfo TextInfo - 3082 TextInfo - 1034 ThreeLetterISOLanguageName spa spa ThreeLetterWindowsLanguageName ESN ESN TwoLetterISOLanguageName es es Comparing "llegar" and "lugar" With myCIintl.CompareInfo.Compare: -1 With myCItrad.CompareInfo.Compare: 1 */
import System.* ;
import System.Collections.* ;
import System.Globalization.* ;
public class SamplesCultureInfo
{
public static void main(String[] args)
{
// Creates and initializes the CultureInfo which uses the
// international sort.
CultureInfo myCIintl = new CultureInfo("es-ES", false);
// Creates and initializes the CultureInfo which uses the
// traditional sort.
CultureInfo myCItrad = new CultureInfo(0x40A, false);
// Displays the properties of each culture.
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "PROPERTY",
"INTERNATIONAL", "TRADITIONAL");
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "CompareInfo",
myCIintl.get_CompareInfo(), myCItrad.get_CompareInfo());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "DisplayName",
myCIintl.get_DisplayName(), myCItrad.get_DisplayName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "EnglishName",
myCIintl.get_EnglishName(), myCItrad.get_EnglishName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsNeutralCulture",
System.Convert.ToString(myCIintl.get_IsNeutralCulture()),
System.Convert.ToString(myCItrad.get_IsNeutralCulture()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "IsReadOnly",
System.Convert.ToString(myCIintl.get_IsReadOnly()),
System.Convert.ToString(myCItrad.get_IsReadOnly()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "LCID",
System.Convert.ToString(myCIintl.get_LCID()),
System.Convert.ToString(myCItrad.get_LCID()));
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Name",
myCIintl.get_Name(), myCItrad.get_Name());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "NativeName",
myCIintl.get_NativeName(), myCItrad.get_NativeName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "Parent",
myCIintl.get_Parent(), myCItrad.get_Parent());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TextInfo",
myCIintl.get_TextInfo(), myCItrad.get_TextInfo());
Console.WriteLine("{0,-33}{1,-25}{2,-25}",
"ThreeLetterISOLanguageName",
myCIintl.get_ThreeLetterISOLanguageName(),
myCItrad.get_ThreeLetterISOLanguageName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}",
"ThreeLetterWindowsLanguageName",
myCIintl.get_ThreeLetterWindowsLanguageName(),
myCItrad.get_ThreeLetterWindowsLanguageName());
Console.WriteLine("{0,-33}{1,-25}{2,-25}", "TwoLetterISOLanguageName",
myCIintl.get_TwoLetterISOLanguageName(),
myCItrad.get_TwoLetterISOLanguageName());
Console.WriteLine();
// Compare two strings using myCIintl.
Console.WriteLine("Comparing \"llegar\" and \"lugar\"");
Console.WriteLine(" With myCIintl.CompareInfo.Compare: {0}",
System.Convert.ToString ( myCIintl.get_CompareInfo().Compare(
"llegar", "lugar")));
Console.WriteLine(" With myCItrad.CompareInfo.Compare: {0}",
System.Convert.ToString ( myCItrad.get_CompareInfo().Compare(
"llegar", "lugar")));
} //main
} //SamplesCultureInfo
/*
This code produces the following output.
PROPERTY INTERNATIONAL TRADITIONAL
CompareInfo CompareInfo - 3082 CompareInfo - 1034
DisplayName Spanish (Spain) Spanish (Spain)
EnglishName Spanish (Spain) Spanish (Spain)
IsNeutralCulture False False
IsReadOnly False False
LCID 3082 1034
Name es-ES es-ES
NativeName espaol (Espaa) espaol (Espaa)
Parent es es
TextInfo TextInfo - 3082 TextInfo - 1034
ThreeLetterISOLanguageName spa spa
ThreeLetterWindowsLanguageName ESN ESN
TwoLetterISOLanguageName es es
Comparing "llegar" and "lugar"
With myCIintl.CompareInfo.Compare: -1
With myCItrad.CompareInfo.Compare: 1
*/
L'exemple de code suivant détermine la culture parente de chaque culture spécifique utilisant la langue chinoise.
using System; using System.Globalization; public class SamplesCultureInfo { public static void Main() { // Prints the header. Console.WriteLine( "SPECIFIC CULTURE PARENT CULTURE" ); // Determines the specific cultures that use the Chinese language, and displays the parent culture. foreach ( CultureInfo ci in CultureInfo.GetCultures( CultureTypes.SpecificCultures ) ) { if ( ci.TwoLetterISOLanguageName == "zh" ) { Console.Write( "0x{0} {1} {2,-37}", ci.LCID.ToString("X4"), ci.Name, ci.EnglishName ); Console.WriteLine( "0x{0} {1} {2}", ci.Parent.LCID.ToString("X4"), ci.Parent.Name, ci.Parent.EnglishName ); } } } } /* This code produces the following output. SPECIFIC CULTURE PARENT CULTURE 0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese (Traditional) 0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese (Simplified) 0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) 0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese (Simplified) 0x1404 zh-MO Chinese (Macau S.A.R.) 0x7C04 zh-CHT Chinese (Traditional) */
import System.* ;
import System.Globalization.* ;
public class SamplesCultureInfo
{
public static void main(String[] args)
{
// Prints the header.
Console.WriteLine("SPECIFIC CULTURE "
+ " PARENT CULTURE");
// Determines the specific cultures that use the Chinese language,
// and displays the parent culture.
for(int iCtr=0;
iCtr < (CultureInfo.GetCultures(CultureTypes.SpecificCultures).
length); iCtr++) {
CultureInfo ci =
CultureInfo.GetCultures(CultureTypes.SpecificCultures)[iCtr];
if (ci.get_TwoLetterISOLanguageName().equalsIgnoreCase("zh")) {
Console.Write("0x{0} {1} {2,-37}",
((System.Int32 ) ci.get_LCID()).ToString("X4") ,
ci.get_Name(), ci.get_EnglishName());
Console.WriteLine("0x{0} {1} {2}",
((System.Int32 )ci.get_Parent().get_LCID()).ToString("X4"),
ci.get_Parent().get_Name(),
ci.get_Parent().get_EnglishName());
}
}
} //main
} //SamplesCultureInfo
/*
This code produces the following output.
SPECIFIC CULTURE PARENT CULTURE
0x0404 zh-TW Chinese (Taiwan) 0x7C04 zh-CHT Chinese
(Traditional)
0x0804 zh-CN Chinese (People's Republic of China) 0x0004 zh-CHS Chinese
(Simplified)
0x0C04 zh-HK Chinese (Hong Kong S.A.R.) 0x7C04 zh-CHT Chinese
(Traditional)
0x1004 zh-SG Chinese (Singapore) 0x0004 zh-CHS Chinese
(Simplified)
0x1404 zh-MO Chinese (Macau S.A.R.) 0x0004 zh-CHS Chinese
(Simplified)
*/
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.