我有两个要比较值的列表,但问题是一个是 type List<string>
,另一个是 type List<SelectListItem>
。
这是我目前所拥有的,效果很好,但我觉得这样一个简单的比较检查会产生很多开销。
List<SelectListItem> fullSubjects = SubRepo.GetSubjects();
//Create our custom list based off the diff
Manage.UserCustomSubjects = Manage.UserSubjects.Where(item => !StaticReferenceList.Contains(item)).ToList();
foreach (var s in Manage.UserCustomSubjects)
{
var checkval = fullSubjects.FirstOrDefault(t => t.Text == s);
if (checkval == null)
{
var additem = new SelectListItem();
additem.Text = s;
additem.Value = s;
fullSubjects.Add(additem);
}
}
这里的总体目标是创建fullSubjects
没有任何重复值的列表。
关于如何清理它或可能 LINQify 比较的任何建议?