无论如何,有没有做类似以下内容的LINQ2SQL查询:

var result = source.GroupBy(a => new { a.Column1, a.Column2 });

要么
var result = from s in source
             group s by new { s.Column1, s.Column2 } into c
             select new { Column1 = c.Key.Column1, Column2 = c.Key.Column2 };

但是忽略分组列内容的大小写?

最佳答案

您可以将StringComparer.InvariantCultureIgnoreCase传递给GroupBy扩展方法。

var result = source.GroupBy(a => new { a.Column1, a.Column2 },
                StringComparer.InvariantCultureIgnoreCase);

或者,您可以按照Hamlet Hakobyan的建议在每个字段上使用ToUpperInvariant。我建议使用ToUpperInvariantToUpper而不是ToLowerToLowerInvariant,因为它已针对编程比较目的进行了优化。

关于c# - 多列不区分大小写的组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16190180/

10-12 14:09