3

我有 2 个包含不同类型的列表。一个是a string[],另一个是a List<SelectListItem>

SelectListItem(它在mvc中):

public string Text {get;set;}
public string Value {get;set;}
public bool Selected {get;set;}

string[]的只是包含一些文本值。

我想要做的是,获取 中的任何内容string[],然后设置"Selected = true"任何Value匹配项和"Selected = false"不匹配项。

所以可以说我string[]的是:

Test1
Test2
Test3

List<SelectListItem>的是:

new SelectListItem { Text = "Testing", Value = "Test1", Selected = false },
new SelectListItem { Text = "Testing", Value = "Test4", Selected = true }

在上面List<SelectListItem>,我有一场比赛。所以我想做的是为该特定条目设置 Selected = true ,以便我最终得到:

new SelectListItem { Text = "Testing", Value = "Test1", Selected = true },
new SelectListItem { Text = "Testing", Value = "Test4", Selected = false }

我将如何实现这一目标?

4

3 回答 3

2
foreach(var i in selectListItemList)
    i.Selected = stringArray.Contains(i.Value);

或使用List.ForEach

selectListItemList.ForEach(i => i.Selected = stringArray.Contains(i.Value));
于 2012-09-20T06:31:06.510 回答
1

怎么样

list.ForEach(x => x.Selected = stringarray.Contains(x.Value))
于 2012-09-20T06:31:46.820 回答
0
var items = SelectListItems.Where(p=>stringArray.Contains(p));;
foreach(var item in items)
    item.Selected=true;
于 2012-09-20T06:33:46.097 回答