列表'除了'比较 - 忽略案例

时间:2014-09-05 06:23:17

标签: c# list ienumerable case-sensitive

我有两个列表,我想比较它们并获得差异,同时忽略任何案例差异。

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

IEnumerable<string> diff = list1.Except(list2);
List<string> differenceList = diff.ToList<string>();

我试过了:

IEnumerable<string> diff = list1.Except(list2, StringComparison.OrdinalIgnoreCase);

但是,似乎没有对该类型的字符串大小写检查(所以错误)。我希望有一个解决方法。

3 个答案:

答案 0 :(得分:30)

试试这个:)

List<string> except = list1.Except(list2, StringComparer.OrdinalIgnoreCase).ToList();

为我工作!

答案 1 :(得分:9)

以下是有效的:

IEnumerable<string> differenceQuery = inputTable.Except(strArrList,
                                                        StringComparer.OrdinalIgnoreCase);

使用StringComparer代替StringComparison

答案 2 :(得分:-1)

使用StringComparer

list3 = list1.Except(list2,StringComparer.OrdinalIgnoreCase);