在LINQ中使用Range()打印偶数

时间:2015-06-28 07:52:18

标签: c# linq

我正在尝试使用LINQ使用以下代码打印偶数1到10的数字

>>> line = ("Kathick Kumar, Bangalore who was a great person and lived from 29thMarch 1980 - 21 Dec 2014")
>>> import re
>>> regex = re.compile('(.*)(?:Bangalore)')
>>> result = regex.search(line)
>>> print(result.group(0))
Kathick Kumar, Bangalore
>>> 

现在不打印偶数,而是打印True或False语句。我在哪里搞错了?

2 个答案:

答案 0 :(得分:3)

你应该这样做:

Enumerable.Range(1, 10).Where(n => n%2 == 0).ToList().ForEach(Console.WriteLine);

否则你选择bool值,而不是应用过滤器:)

答案 1 :(得分:2)

您正在使用Select而不是

Enumerable.Range(1, 10).Where(n => n%2 == 0).ForEach(Console.WriteLine)

选择是为每个评估创建新对象,在这种情况下评估为布尔值。