c# - 在 LINQ 中选择 DISTINCT LEFT([string],2)
问题描述
我需要检索字符串左侧两个字符的不同列表。
var result = work
.Select(w => w.BillCode)
.Distinct()
.ToList();
我已经使用这个 linq 语句获得了一个不同的列表,但我需要来自 BillCode 的 2 位前缀的不同列表。
而不是 AB1、AB2、AB3、CD1、CD2、CD3……我只需要 AB、CD。
这是一个遗留在 .Net Framework 4.7.2 上的应用程序。
解决方案
var result = work
.Select(w => w.BillCode.Substring(0,2))
.Distinct()
.ToList();
或者,如果您的BillCode
字符数少于 2:
var result = work
.Select(w => w.BillCode.Length>2 ? w.BillCode.Substring(0,2) : w.BillCode)
.Distinct()
.ToList();
推荐阅读
- javascript - 无法在 JavaScript 中过滤项目
- vba - 使用 shell 应用程序找到已经打开的 IE 窗口后连接到数据
- java - EJB 模块中的 Spring 上下文
- git - 如何从功能分支中删除文件?
- python - 使用列表输入文本和按空格分割字符串需要什么操作来获取输出?答案最受赞赏
- django - 显示父数据是否在子表中使用的 ORM 或 RAW SQL
- python - 如何将数据集加载到 Jupyter Notebook
- maven - 使用fabric8 maven插件运行带有外部配置文件的docker镜像
- amazon-web-services - aws appsync 连接不会从所有模型中带回项目
- c++ - 是否可以将函数导入命名空间,但不能导出?