我有一张list的列表。
foo有一个名为Bar的字符串属性。
我想用LINQ得到String[]的distinct Foo的值。加入到“Foo”的名单上。
我该怎么做?
发布于 2017-12-27 06:39:45
使用下面代码:
var bars = Foos.Select(f => f.Bar).Distinct().ToArray();
我还要补充一点,你可能希望在最后一分钟之前不要转换为数组。
Linq在幕后进行了一些优化,查询一直保持在其查询形式,直到显式需要为止。因此,你可能希望首先将所需的所有内容都构建到查询中,这样就可以完全应用任何可能的优化。
通过计算,我的意思是要求一些明确需要计算的东西,如“count()”或“ToArray()”等等。
发布于 2017-12-27 08:24:44
如果您你要使用Fluent模式,这应该是可行的:
string[] arrayStrings = fooList.Select(a => a.Bar).Distinct().ToArray();
发布于 2017-12-27 08:42:01
试试这个:
var distinctFooBars = (from foo in foos
select foo.Bar).Distinct().ToArray();
https://stackoverflow.com/questions/-100005208
复制相似问题