【问题标题】:How to group by ToLower()? [duplicate]如何按 ToLower() 分组? [复制]
【发布时间】:2019-07-22 13:28:32
【问题描述】:

在我的项目中,我读取了一个 csv 文件。在这个 csv 文件中有不同的功能和它们的持续时间。现在我想按函数名称对结果进行分组,但有时函数名称相同,但字母有时会大写和小写,例如:examplevalueEXampleValue

在本例中,这将是 2 个不同的函数。 为了解决这个问题,我想将这些函数转换为小写。我试过这样但它不起作用:

var descItemsTemp = db.ChartDatas
                .GroupBy(x => new { x.Function.ToLower() });

【问题讨论】:

  • JavaScript 与此有关吗?在我看来,这不像你的例子是关于 LINQ 的。
  • x.FunctionType 是什么?如果您能提供minimal reproducible example,那就太好了。
  • 另一个要考虑的选项是.GroupBy(x => x.Function.ToLower())

标签: c# asp.net-mvc linq


【解决方案1】:

您可以将比较器传递给GroupBy,在这种情况下您可以使用现有的:

.GroupBy(x =>x.Function, StringComparer.OrdinalIgnoreCase);

【讨论】:

  • StringComparer.OrdinalIgnoreCase 优于 ToLower
  • @Tim Schmelter 非常感谢! :)
猜你喜欢
  • 1970-01-01
  • 2015-10-13
  • 2015-07-24
  • 2018-12-27
  • 2021-12-26
  • 2019-07-25
  • 2021-09-10
  • 1970-01-01
  • 2011-06-28
相关资源
最近更新 更多