そのような方法はないと思います。try-catch
したがって、インストールされているすべてのカルチャを確認することもできます。
string cultureCode = "de-DE";
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures);
var culture = cultures.FirstOrDefault(c => c.Name.Equals(cultureCode, StringComparison.OrdinalIgnoreCase));
if (culture == null)
{
culture = cultures.FirstOrDefault(c => c.Name.Equals(DefaultCultureCode, StringComparison.OrdinalIgnoreCase));
if (culture == null)
culture = CultureInfo.CurrentCulture;
}
しかし、私はそれを好むでしょうtry-catch
、私はそれがより効率的であると確信しています。
public bool TryGetCultureInfo(string cultureCode, string DefaultCultureCode, out CultureInfo culture)
{
try
{
culture = CultureInfo.GetCultureInfo(cultureCode);
return true;
} catch(CultureNotFoundException)
{
if (DefaultCultureCode == null)
culture = CultureInfo.CurrentCulture;
else
{
try
{
culture = CultureInfo.GetCultureInfo(DefaultCultureCode);
} catch (CultureNotFoundException)
{
culture = CultureInfo.CurrentCulture;
}
}
}
return false;
}