Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. |
Traducción
Original
|
CultureInfo.CreateSpecificCulture (Método)
Crea un CultureInfo que representa la referencia cultural específica asociada al nombre especificado.
Ensamblado: mscorlib (en mscorlib.dll)
Parámetros
- name
- Tipo: System.String
Un nombre de CultureInfo predefinido o el nombre de un objeto CultureInfo existente.
Valor devuelto
Tipo: System.Globalization.CultureInfoObjeto CultureInfo que representa:
La referencia cultural invariable, si name es una cadena vacía ("").
O bien
La referencia cultural específica asociada a name, si name es una referencia cultural neutra.
O bien
La referencia cultural especificada por name, si name ya es una referencia cultural específica.
| Excepción | Condición |
|---|---|
| CultureNotFoundException |
name no es un nombre de referencia cultural válido. O bien La referencia cultural especificada por name no tiene asociada una referencia cultural específica. |
| NullReferenceException |
name es null. |
Las referencias culturales se han agrupado en tres conjuntos: referencias culturales invariables, referencias culturales neutras y referencias culturales específicas. Para obtener más información, consulte la descripción de la clase CultureInfo.
Si el identificador de referencia de la referencia cultural específica devuelta por este método coincide con el identificador de la referencia cultural actual de Windows, este método crea un objeto CultureInfo que utiliza la invalidación de referencia cultural de Windows. Las invalidaciones incluyen la configuración del usuario para las propiedades del objeto DateTimeFormatInfo que devuelve la propiedad DateTimeFormat y el objeto NumberFormatInfo que devuelve la propiedad NumberFormat.
Aunque el nombre del método hace referencia a la referencia cultural específica, recuerde que los datos de la referencia cultural pueden cambiar entre versiones o debido a referencias culturales personalizadas o debido a reemplazos del usuario. Utilice la referencia cultural de todos los idiomas o formularios binarios o fijos para guardar los datos.
Notas para los llamadores
.NET Framework versión 3.5 y las versiones anteriores producen una ArgumentException si name no es un nombre de referencia cultural válido. A partir de .NET Framework versión 4, este método produce una CultureNotFoundException.
En el siguiente ejemplo se recupera una matriz de objetos CultureInfo que representan referencias culturales neutras del método GetCultures y ordenan la matriz. Cuando itera los elementos en la matriz, pasa el nombre de cada referencia cultural neutra al método CreateSpecificCulture y muestra el nombre de la referencia cultural concreta devuelta por el método.
Nota
|
|---|
|
El ejemplo utiliza los nombres de referencia cultural "zh-CHS" y "zh-CHT". Sin embargo, aplicaciones que tienen Windows Vista como destino y posteriores deberían utilizar "zh-Hans" en lugar de "zh-CHS" y "zh-Hant" en lugar de "zh-CHT". " zh-Hans" y "zh-Hant" representan el estándar actual y se deben usar a menos que tenga un motivo para usar los nombres antiguos. También observe que los resultados del ejemplo pueden diferir en una instalación de Windows taiwanesa, donde la entrada de una referencia cultural neutral de Chino (Tradicional) (zh, zh-CHT o zh-Hant) devolverá zh-TW. |
using System; using System.Collections.Generic; using System.Globalization; using System.Reflection; public class Example { public static void Main() { // Display the header. Console.WriteLine("{0,-53}{1}", "CULTURE", "SPECIFIC CULTURE"); // Get each neutral culture in the .NET Framework. CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.NeutralCultures); // Sort the returned array by name. Array.Sort<CultureInfo>(cultures, new NamePropertyComparer<CultureInfo>()); // Determine the specific culture associated with each neutral culture. foreach (var culture in cultures) { Console.Write("{0,-12} {1,-40}", culture.Name, culture.EnglishName); try { Console.WriteLine("{0}", CultureInfo.CreateSpecificCulture(culture.Name).Name); } catch (ArgumentException) { Console.WriteLine("(no associated specific culture)"); } } } } public class NamePropertyComparer<T> : IComparer<T> { public int Compare(T x, T y) { if (x == null) if (y == null) return 0; else return -1; PropertyInfo pX = x.GetType().GetProperty("Name"); PropertyInfo pY = y.GetType().GetProperty("Name"); return String.Compare((string) pX.GetValue(x, null), (string) pY.GetValue(y, null)); } } // The example displays the following output: // CULTURE SPECIFIC CULTURE // Invariant Language (Invariant Country) // af Afrikaans af-ZA // am Amharic am-ET // ar Arabic ar-SA // arn Mapudungun arn-CL // as Assamese as-IN // az Azeri az-Latn-AZ // az-Cyrl Azeri (Cyrillic) az-Cyrl-AZ // az-Latn Azeri (Latin) az-Latn-AZ // ba Bashkir ba-RU // be Belarusian be-BY // bg Bulgarian bg-BG // bn Bengali bn-IN // bo Tibetan bo-CN // br Breton br-FR // bs Bosnian bs-Latn-BA // bs-Cyrl Bosnian (Cyrillic) bs-Cyrl-BA // bs-Latn Bosnian (Latin) bs-Latn-BA // ca Catalan ca-ES // co Corsican co-FR // cs Czech cs-CZ // cy Welsh cy-GB // da Danish da-DK // de German de-DE // dsb Lower Sorbian dsb-DE // dv Divehi dv-MV // ... // ta Tamil ta-IN // te Telugu te-IN // tg Tajik tg-Cyrl-TJ // tg-Cyrl Tajik (Cyrillic) tg-Cyrl-TJ // th Thai th-TH // tk Turkmen tk-TM // tn Setswana tn-ZA // tr Turkish tr-TR // tt Tatar tt-RU // tzm Tamazight tzm-Latn-DZ // tzm-Latn Tamazight (Latin) tzm-Latn-DZ // ug Uyghur ug-CN // uk Ukrainian uk-UA // ur Urdu ur-PK // uz Uzbek uz-Latn-UZ // uz-Cyrl Uzbek (Cyrillic) uz-Cyrl-UZ // uz-Latn Uzbek (Latin) uz-Latn-UZ // vi Vietnamese vi-VN // wo Wolof wo-SN // xh isiXhosa xh-ZA // yo Yoruba yo-NG // zh Chinese zh-CN // zh-CHS Chinese (Simplified) Legacy zh-CN // zh-CHT Chinese (Traditional) Legacy zh-HK // zh-Hans Chinese (Simplified) zh-CN // zh-Hant Chinese (Traditional) zh-HK // zu isiZulu zu-ZA
Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2
.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Nota