3
 var userIds = books.Select( i => new{i.CreatedById,i.ModifiedById}).Distinct();

 var lst = from i in userIds select i.CreatedById;

 var lst1 = from i in userIds select i.ModifiedById;

 var lstfinal = lst.Concat(lst1).Distinct();

还有其他方法可以获得相同的结果吗???

这里:books 是书籍对象的集合,即 IEnumerable。

谢谢

4

1 回答 1

13

替代解决方案 -SelectMany来自所需属性的数组:

var lstfinal = books.SelectMany(b => new [] { b.CreatedById, b.ModifiedById })
                    .Distinct();

或枚举书籍收藏两次。Union不包括重复项,所以你不需要打电话Distinct(我会这样):

var lstfinal = books.Select(b => b.CreatedById)
                    .Union(books.Select(b => b.ModifiedById));
于 2013-02-27T13:53:06.750 回答