我有一个列表,当item1比myVariable更好时我需要开始阅读。 我可以使用循环和if语句来完成它,但有人可以帮我使用LINQ吗?
var listDate = new List<Tuple<DateTime, double>>();
foreach (var item in listDate)
{
if (item.Item1 > myVariable)
Console.WriteLine(item);
}
答案 0 :(得分:4)
if
的LINQ副本是Where
:
IEnumerable<Tuple<DateTime, double>> query = listDate.Where(t => t.Item1 > myVariable);
您可以使用foreach
- 循环或其他方法,例如ToList
来使用查询。
答案 1 :(得分:2)
Where
的另一种解决方案:
var result = listData.SkipWhile(t => t.Item1 <= myVariable);
注意:这假设收集是根据Item1
订购的。然后&#34;跳过&#34;可能会更清楚,因为它更接近意图&#34;当item1比myVariable更好时我需要开始阅读&#34;比使用Where
的标准收集过滤。