使用带有非重复字符串列表的选择语句进行分组
本文关键字:语句 选择 列表 字符串 | 更新日期: 2023-09-27 18:34:09
使用我从静态列和分组列的分组依据中获得的结果。它给了我一个企业列表,但在投影时显示得非常奇怪。请问我该如何解决这个问题。
业务显示为System.Linq.Enumerable+<Distinctiterator> System String
var result = data.GroupBy(x => new { x.People, x.StreetAddress })
.Select(x => new
{
People = x.Key.People,
Business = x.Select(z => z.Business).Distinct().ToList().ToString(),
StreetAddress x.Key.StreetAddress
});
显示的类型名称表明显示的内容仍然是Distinct()
方法调用的结果。您发布的代码不会这样做;它将结果转换为列表,并会产生更像System.Collections.Generic.List'1
(或类似的东西......我忘记了确切的表示形式,我认为它使用了反引号,但当然这是降价引号字符,所以我不能在这里准确显示它)。
您是否打算从列表中创建一个真正的字符串,也许通过使用 string.Join()
方法?
那看起来像这样:
result = data.GroupBy(x => new { x.People, x.StreetAddress })
.Select(x => new
{
People = x.Key.People,
Business = string.Join(", ", x.Select(z => z.Business).Distinct()),
StreetAddress x.Key.StreetAddress
});