Reputation: 287
How can I check that List< SelectListItem> doesn't contain or insert any duplicates in Mvc3. I have tried with !Contains
Thanks
Upvotes: 3
Views: 2704
Reputation: 408
Try this:
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() compares if the object reference, not the Value property
Upvotes: 5
Reputation: 11
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);
}
Upvotes: 0