gpt4 book ai didi

c# - 接收错误CS0030 : Cannot convert type 'char' to 'string' when I try to run this dropdown list

转载 作者:行者123 更新时间:2023-12-02 10:46:56 26 4
gpt4 key购买 nike

我是C#的新手,并被我所工作的公司所吸引,因此我对所有这些方面的知识非常缺乏深表歉意。该网站使用一个下拉列表,因此用户可以选择一种语言来查看该网站。这是我开始使用的代码,效果很好。

protected void CreateLanguageList()
{
// Get the available cultures.
string[] cultures = Telerik.Localization.Configuration.ConfigHelper.Handler.Cultures.Split(',');

foreach (string availableCulture in cultures)
{
var culture = new CultureInfo(availableCulture.Trim());
var item = new ListItem(culture.NativeName, culture.ToString());
LanguageSelector.Items.Add(item);

if (culture.ToString() == currentCultureString)
{
item.Selected = true;
}
}
}

现在我们要迁移到更新的CMS,不再支持Telerik.Localization。联系他们的支持人员后,他们说我可以通过使用以下代码并使用DisplayName()属性访问区域性的名称来访问语言文件:
var allCultures = AppSettings.CurrentSettings.AllLanguages.ToList();

到目前为止,由于我对C#的了解非常有限(我想自学),所以我不想不必要地更改代码,所以我找到了可以将列表转换为的地方我认为这是一个字符串,它使我可以不用理会其余的代码,而只需要更改对语言文件的一次调用即可。但是,当我尝试运行以下代码时,我收到CS0030错误:
protected void CreateLanguageList()
{
// Get the available cultures.
var allCultures = AppSettings.CurrentSettings.AllLanguages.ToList();
string combinedCultures = string.Join(",", allCultures);

foreach (string availableCulture in combinedCultures)
{
var culture = new CultureInfo(availableCulture.Trim());
var item = new ListItem(culture.NativeName, culture.ToString());
LanguageSelector.Items.Add(item);

if (culture.ToString() == currentCultureString)
{
item.Selected = true;
}
}
}

对于解释我做错了什么以及如何解决问题的任何帮助,将不胜感激。

最佳答案

您的问题是combinedCultures被定义为字符串,但是随后您尝试在foreach中使用类型字符串对其进行迭代。当您遍历字符串时,会得到字符。您应该能够完全摆脱combinedCultures变量,并使用allCultures foreach。

关于c# - 接收错误CS0030 : Cannot convert type 'char' to 'string' when I try to run this dropdown list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22237477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com