使用Group by with static columns and grouped columns的结果。它给了我一个企业列表,但在投影时显示非常奇怪。我可以问一下我是怎么回事的。
商家显示为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
});
答案 0 :(得分:1)
显示的类型名称表明显示的内容仍然是Distinct()
方法调用的结果。您发布的代码不会这样做;它将结果转换为一个列表,并产生更像System.Collections.Generic.List'1
的输出(或类似的东西......我忘记了确切的表示,我认为它使用了反向标记,但当然那是&#39}降价引用字符,所以我不能在这里完全显示它。)
您是否意味着要使用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
});