0

我有以下代码

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'.

代码有什么问题

4

1 回答 1

1

字符串不能转换为 CultureInfo,这就是您收到 InvalidCastException 的原因。

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

于 2013-10-11T23:32:28.610 回答