我正在尝试以某种方式获取同时包含 customerid 和 sallerid 的原始列表。是否可以使用两个选择然后联合来完成,是否有任何简写。代码如下:
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);
如何通过一次操作而不是三次操作来获取userId
最佳答案
您可以按如下方式在一个管道中完成:
var result = list.SelectMany(x => new int[] {x.CustomerId, x.SallerId})
.Distinct();
这基本上将每个对象 CustermerId
和 SallerId
投影到一个数组中,然后折叠嵌套序列,最后调用 Distinct
来删除重复项.
关于c# - 将两个属性联合到普通列表 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53686056/