我正在尝试打印1到1000之间的数字(包括1000)。
for (int i = 1; i <= 1000; i=i+1)
{
Console.WriteLine(i);
}
但是,我确实记得我以前用过的一行代码。如下所示:
Enumerable.TheMethodGives1To1000(Console.WriteLine);
有什么想法吗?
答案 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;});