我有一个这样的字符串列表:
List<string> excelList = new List<string>();
excelList.Add("ZArA"); excelList.Add("CalviN"); excelList.Add("BaD ZAra");
然后我像这样从中创建一个Hashset
:
var hashet = new HashSet<string>(excelList,StringComparer.OrdinalIgnoreCase);
然后我有一个objects
的{{1}}的列表,像这样:
class
好吧,现在我要确保 excelList 中的字符串值 ALL
在我的public class MyDbObjects
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int ID { get; set; }
}
List<MyDbObjects> dbObjectses = new List<MyDbObjects>();
// call .add here to add some actual objects to it.
的班级对象列表中以名字或姓氏存在,并且不区分大小写。
我下面的代码可以但是起作用,不能可以处理区分大小写。我该如何添加呢?
dbObjectses
答案 0 :(得分:2)
这应该做到:
var hasAll = !excelList.Except(
dbObjectses.Select(x => x.FirstName).Concat(
dbObjectses.Select(x => x.LastName)),
StringComparer.OrdinalIgnoreCase).Any();
Except
在内部使用哈希表,因此应具有良好的性能。
答案 1 :(得分:1)
hastset的instrad,使用excelList,
var allofThemExist = dbObjectses.All(x => excelList.Contains(x.FirstName) || excelList.Contains(x.LastName));