列出'除外'比较 - 忽略大小写

joh*_*ohn 20 c# ienumerable list case-sensitive

我有两个列表,我想比较它们并得到差异,而忽略任何案例差异.

我使用以下代码来获取两个列表之间的差异,但它不会忽略大小写差异.

IEnumerable<string> diff = list1.Except(list2);
List<string> differenceList = diff.ToList<string>();
Run Code Online (Sandbox Code Playgroud)

我试过这个:

IEnumerable<string> diff = list1.Except(list2, StringComparison.OrdinalIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

但是,除了似乎没有这种类型的字符串案例检查(所以错误).我希望有一个解决方法.

小智 32

试试这个 :)

List<string> except = list1.Except(list2, StringComparer.OrdinalIgnoreCase).ToList();
Run Code Online (Sandbox Code Playgroud)

为我工作!


joh*_*ohn 10

这是有效的:

IEnumerable<string> differenceQuery = inputTable.Except(strArrList,
                                                        StringComparer.OrdinalIgnoreCase);
Run Code Online (Sandbox Code Playgroud)

用来StringComparer代替StringComparison.