获取连续的整数列表

时间:2014-04-08 06:00:18

标签: c# .net

我正在尝试打印1到1000之间的数字(包括1000)。

for (int i = 1; i <= 1000; i=i+1)
{
       Console.WriteLine(i);
}

但是,我确实记得我以前用过的一行代码。如下所示:

Enumerable.TheMethodGives1To1000(Console.WriteLine);

有什么想法吗?

3 个答案:

答案 0 :(得分:14)

您需要的是Enumerable.Range方法,该方法在指定范围内生成一系列整数。它返回IEnumerable<int>个对象。 要打印此集合中的元素,我们可以使用List<T>.ForEach方法。它对List<T>的每个元素执行指定的操作。如果是单个参数,您可以自行传递函数。

因此,结果是:

 Enumerable.Range(1, 1000)
           .ToList()
           .ForEach(Console.WriteLine);

答案 1 :(得分:2)

foreach(var i in Enumerable.Range(1, 999))
    Console.WriteLine(i);

答案 2 :(得分:1)

可以使用Enumerable.Range创建序列。

使用Linq查询调用Console.Write有点不寻常,因为它不会返回值。

您可以先构建字符串,然后将其打印,即:

var result = String.Join("\n", Enumerable.Range(1,10).Select(i=> i.ToString()));

或使用ForEach

List
Enumerable.Range(1,10).ToList().ForEach(Console.WriteLine)

或者在Select:

中调用WriteLine并返回值
Enumerable.Range(1,10).Select(i => { Console.WriteLine(i); return 0;});