看一下这个示例对象,
public class Demo
{
public string DisplayName { get; set; }
public int Code1 { get; set; }
public int Code2 { get; set; }
...
}
Run Code Online (Sandbox Code Playgroud)
并且我想说我想将所有代码(Code1,Code2)放在一个列表中(IEnumerable)...一种方式就是这个:
var codes = demoList.Select(item => item.Code1).ToList();
codes.AddRange(demoList.Select(item => item.Code2));
//var uniqueCodes = codes.Distinct(); // optional
Run Code Online (Sandbox Code Playgroud)
我知道这不是一个好的既不是最佳解决方案,所以我很想知道什么是更好的方法/(最佳实践)?
怎么样SelectMany:
var codes = demoList.SelectMany(item => new[] { item.Code1, item.Code2 });
Run Code Online (Sandbox Code Playgroud)
顺便说一下,在LINQ中进行连接的惯用方法是Concat:
var codes = demoList.Select(item => item.Code1)
.Concat(demoList.Select(item => item.Code2));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
431 次 |
| 最近记录: |