如何使用 LINQ 打印数字
我正在尝试使用 LINQ 打印从 1 到 100 的自然数,并且不使用任何循环。我编写的 LINQ 查询根本无法编译。
Console.WriteLine(from n in Enumerable.Range(1, 100).ToArray());
请帮我。
I am trying to print natural numbers from 1 to 100 using LINQ and without any loops. The LINQ query I wrote doesn't even compile at all.
Console.WriteLine(from n in Enumerable.Range(1, 100).ToArray());
Please help me.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
方法语法:
查询语法:
或者,如果您想要一个逗号分隔的列表:
该列表使用 String.Join(String, IEnumerable) .NET 4.0 中引入的重载。
Method syntax:
Query syntax:
Or, if you want a comma separated list:
This one uses the String.Join<T>(String, IEnumerable<T>) overload introduced in .NET 4.0.
您的 LINQ 查询几乎接近解决方案,只需要进行一些调整。
希望这有帮助
Your LINQ query is almost near to the solution, only some tweaking is needed.
Hope this helps
尝试一下:
如果您希望获得更好的性能,您还可以将 ForEach 作为扩展方法添加到 IEnumerable,而不必先转换为列表。
Try this:
You can also add ForEach as an extension method to IEnumerable instead of having to convert to list first, if you desire a little better performance.
LINQ 是查询语言。它只能过滤和转换数据。这正是 LINQ 的目的。
当然会有一些 ForEach 扩展,但这不是 LINQ 本身的一部分。
纠正一下,LINQ 中存在循环,只是它们隐藏在您的视线之外。
LINQ is query language. It can only filter and transform data. That what LINQ is inteded for.
Of course there will be some ForEach extension, but that is not part of LINQ itself.
And just to correct you, there are loops in LINQ, except they are hidden from your sight.
不可能在没有任何循环的情况下遍历数组,您可以使用 List 类的 ForEach 扩展方法。
我不知道你为什么要这样做,但循环可能不是由你编写的,但最终会在代码的某些部分中呈现。
编辑:
提出的任何解决方案都会在某个地方有一些循环甚至两个循环,如果您只想迭代所有元素,您应该创建一个扩展,在其中隐藏 for every
It is imposible to walko over an array without any loops, you can use the ForEach extention method for List class.
I dont know why you would like do this, but the loop might not be writen by you but eventually in some part of code will be presented.
EDIT:
Any solution presented will have somewhere some loop or even two, if you just want to iterate through all elements, you should create an extension where you hide the for each