我试图以某种方式得到包含customerid和sallerid的列表 . 是否可以通过两个选择然后使用Union来实现,是否有任何简写 . 代码如下:
public class Model
{
public int CustomerId { get; set; }
public int SallerId { get; set; }
}
var list = new List<Model>
{
new Model(),
new Model()
};
var customerIds = list.Select(model => model.CustomerId);
var sallerIds = list.Select(model => model.SallerId);
var userIds = customerIds.Union(sallerIds);
如何通过一次操作而不是三次操作来获取userIds
2 回答
answer from Aomine几乎可以满足您的要求 . 但也许另一种方法可以简化您的问题 .
如果您不打算将Model作为POCO,那么只需将方法GetUserIds()添加到Model类:
这样您就可以通过以下方式获取userIds:
您可以在一个管道中执行以下操作:
这实际上将每个对象
CustermerId
和SallerId
投影到一个数组中,然后折叠嵌套序列,最后调用Distinct
以删除重复项 .