我有一个特定类的元素列表.该类包含一个字段.
class Foo {public int i;}
List<Foo> list;
Run Code Online (Sandbox Code Playgroud)
我想将列表中所有项目的字段提取到一个新列表中.
List<int> result = list.ExtractField (e => e.i); // imaginary
Run Code Online (Sandbox Code Playgroud)
肯定有多种方法可以做到这一点,但我还没有找到一个漂亮的解决方案.我认为linq可能有所帮助,但我不确定究竟是怎么回事.
Jon*_*eet 22
只是:
List<int> result = list.Select(e => e.i).ToList();
Run Code Online (Sandbox Code Playgroud)
要么
List<int> result = list.ConvertAll(e => e.i);
Run Code Online (Sandbox Code Playgroud)
后者更有效(因为它知道开始的最终大小),但只适用于列表和数组而不是任何任意序列.
| 归档时间: |
|
| 查看次数: |
9372 次 |
| 最近记录: |