从Cultureinfo.NativeName获取语言名称

时间:2013-10-11 05:03:04

标签: vb.net cultureinfo

我有以下代码

lstLanguage.Items.Add(CultureInfo.GetCultureInfo("en-US").NativeName)
lstLanguage.SelectedIndex = 0

以下代码运行时

Dim strLanguageCode As String = CType(lstLanguage.SelectedItem, CultureInfo).NativeName

它抛出异常

System.InvalidCastException:
Unable to cast object of type 'System.String' to type 'System.Globalization.CultureInfo'.

代码上的错误

1 个答案:

答案 0 :(得分:1)

无法将字符串强制转换为CultureInfo,因此您将收到InvalidCastException。

我猜你想要实现的是显示文化的原生名称列表,当用户选择一个时,你希望能够检索原始语言代码或与之相关的CultureInfo。通常处理的方法是将CultureInfo分配给列表,并提供一个查看器,通过NativeName将CultureInfo转换为字符串。