有条件地采取一些或所有项目

时间:2018-06-08 14:59:51

标签: c# linq

如何在Take()电话中添加条件?

query.Take(isTrue ? 10 : 0);

而不是0,我想获取查询返回的所有项目。

2 个答案:

答案 0 :(得分:5)

For i = 1 To UBound(vntValues) 'mySeries.Points(i).Interior.Color = Range(s).Cells(i).Interior.Color mySeries.Points(i).Interior.Color = Range(s).Cells(i).FormatConditions(1).Interior.Color Next i 没有真正的“全部”参数,但您可以有条件地应用该条款。

Take

答案 1 :(得分:2)

如果确实想要使用条件运算符,那么这将是继续进行的方式:

var result = query.Take(isTrue ? 10 : query.Count());

尽管如此,我必须承认,如果queryIEnumerable<T>,那么与其他答案相比,这是次优的。

如果它是一个列表,那么在性能方面的等效版本将是:

var result = query.Take(isTrue ? 10 : query.Count);