获取包含Collection中任何字符串的项目

时间:2015-02-27 15:32:33

标签: c# linq

我现在拥有的是:

var dividendItemsRecord = yearItem.GetType().GetProperties().Where(x => x.Name.Contains("Record"));
var dividendItemsPayable = yearItem.GetType().GetProperties().Where(x => x.Name.Contains("Payable"));
var dividendItemsCash = yearItem.GetType().GetProperties().Where(x => x.Name.Contains("Cash"));

var dividendItems = dividendItemsRecord.Concat(dividendItemsPayable)
                                        .Concat(dividendItemsCash)
                                        .ToList();

这显然不是我想要的方式,我想知道是否有人知道如何一步到位。

PS:找到的物品永远不会相交

2 个答案:

答案 0 :(得分:2)

您可以将多个条件合并为一个逻辑 OR 语句:

var dividend = yearItem.GetType().GetProperties().
Where(x => x.Name.Contains("Record") || x.Name.Contains("Payable") || x.Name.Contains("Cash"));

答案 1 :(得分:1)

以下应该这样做:

var listOfItems = yearItem.GetType().GetProperties().Where(x => x.Name.Contains("Record") || x => x.Name.Contains("Payable") || x => x.Name.Contains("Cash")).ToList();