避免在List<SelectListItem>中出现重复条目。

3

我该如何检查Mvc3中的List<SelectListItem>是否包含重复项或插入重复项。我已经试过!Contains方法。

谢谢


1
有没有一个答案对您有帮助?如果有,您可以接受其中一个作为解决方案吗? - hydr
2个回答

5

试试这个:

var list = new List<SelectListItem>();
list.Add(new SelectListItem { Text = "Some Text", Value = "Some Value" });
list.Add(new SelectListItem { Text = "Other Text", Value = "Other Value" });

var selectListItem = new SelectListItem { Text = "Some Text", Value = "Some Value" };
if(!list.Any(l => l.Value == selectListItem.Value)
{
    list.Add(selectListItem);
}

.Contains() 方法比较的是对象引用,而不是值属性。


0
var list = new List<SelectListItem>();

var selectListItem = new SelectListItem { Text = "Some Text", Value = "Some Value" };
if(list.FirstOrDefault(t => t.Value != selectListItem.Value) == null)
{
    list.Add(selectListItem);
}

我使用了List<SelectListItem> list=new List<SelectListItem>();,但它不起作用。 - sam
2
如果(list.FirstOrDefault(t => t.Value != selectListItem.Value) == null)是不正确的,应该改为if(list.FirstOrDefault(t => t.Value == selectListItem.Value) == null)。 - yusuf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接