如何从内存列表中获取不同属性值的数组?
答
我会去的lambda ... wayyy更好
var bars = Foos.Select(f => f.Bar).Distinct().ToArray();
与@lassevk发布的内容相同。
我还想补充一点,你可能希望在最后一分钟之前不要转换为数组。
LINQ在后台做了一些优化,查询一直保留在它的查询表单中,直到明确需要。因此,您可能希望首先将所需的所有内容构建到查询中,以便完全应用任何可能的优化。
通过评估手段我要求的东西,明确要求评价;像“COUNT()”或“ToArray的()”等
答
试试这个:
var distinctFooBars = (from foo in foos
select foo.Bar).Distinct().ToArray();
答
,如果你想用流利的模式这应该工作:
string[] arrayStrings = fooList.Select(a => a.Bar).Distinct().ToArray();
答
你不应该能够做这样的事?
var strings =(from a fooList select a.Bar).Distinct(); string [] array = strings.ToArray();
我可以得到另一个属性吗? – 2017-12-07 08:09:24