我有2个包含不同类型的列表。一个是string[]
,另一个是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 }
我将如何实现这一目标?
答案 0 :(得分:2)
foreach(var i in selectListItemList)
i.Selected = stringArray.Contains(i.Value);
或使用List.ForEach
:
selectListItemList.ForEach(i => i.Selected = stringArray.Contains(i.Value));
答案 1 :(得分:1)
怎么样
list.ForEach(x => x.Selected = stringarray.Contains(x.Value))
答案 2 :(得分:0)
var items = SelectListItems.Where(p=>stringArray.Contains(p));;
foreach(var item in items)
item.Selected=true;