完全な表示名を使用して cultureInfo オブジェクトのインスタンスを作成する方法はありますか:
CultureInfo userCulture = new CultureInfo("Japanese (Japan)");
または完全な表示名をカルチャ コードに変換します。
toCultureCode("Japanese (Japan)");
戻るだろう "ja-JP"
完全な表示名を使用して cultureInfo オブジェクトのインスタンスを作成する方法はありますか:
CultureInfo userCulture = new CultureInfo("Japanese (Japan)");
または完全な表示名をカルチャ コードに変換します。
toCultureCode("Japanese (Japan)");
戻るだろう "ja-JP"
英語名でカルチャを取得するための組み込みのメソッドはないため、次のように記述できます。
public static CultureInfo getCultureByEnglishName(String englishName)
{
// create an array of CultureInfo to hold all the cultures found,
// these include the users local culture, and all the
// cultures installed with the .Net Framework
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures);
// get culture by it's english name
var culture = cultures.FirstOrDefault(c =>
c.EnglishName.Equals(englishName, StringComparison.InvariantCultureIgnoreCase));
return culture;
}
toCultureCode
はToString
:_
String name = "Japanese (Japan)";
CultureInfo japanCulture = getCultureByEnglishName(name);
Console.Write(japanCulture.ToString()); // -> "ja-JP"
あなたはLinqを使うことができます
using System.Linq;
CultureInfo culture = CultureInfo.GetCultures(CultureTypes.AllCultures).FirstOrDefault(c => c.DisplayName == "Japanese (Japan)");