我在下面编译错误:
参数2:无法从'System.Collections.Generic.IEnumerable'转换为'string'
参数3:无法从'System.Collections.Generic.IEnumerable'转换为'string'
如何解决此错误?
void Main()
{
SortedDictionary<int, string> items = new SortedDictionary<int, string>{{1, "apple"}, {2, "book"}, {3, "tree"}, {4, "mazagine"}, {5, "orange"}};
MultiSelectList msl = new MultiSelectList(items, items.Select(o => o.Key), items.Select(o => o.Value), items.Where(i => i.Key == 1 || i.Key == 5)).Dump();
}
答案 0 :(得分:3)
MultiSelectList(items, dataValueField, dataTextField, selectedValues)构造函数需要四个参数:
string
- 这是您的第一个错误。您应该传递值字段名称,而不是传递所有值。string
- 这是您的第二个错误。您应该传递文本字段的名称,而不是传递所有文本值。1
和5
),而不是传递具有所选值的项目。所以,正确的代码是
new MultiSelectList(items, "Key", "Value", new [] { 1, 5 })
我建议您仔细阅读错误消息,查看IntelliSense提示,并使用MSDN获取有关您正在使用的类型的信息。