在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();

最新更新