在 C# 中编写 [0..100] 的最佳方式是什么?
我正在尝试想出聪明、清晰且简单的方法来编写描述给定范围内的整数序列的代码。
这是一个例子:
IEnumerable<int> EnumerateIntegerRange(int from, int to)
{
for (int i = from; i <= to; i++)
{
yield return i;
}
}
I'm trying to think of clever, clear, and simple ways to write code that describes the sequence of integers in a given range.
Here's an example:
IEnumerable<int> EnumerateIntegerRange(int from, int to)
{
for (int i = from; i <= to; i++)
{
yield return i;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这已经在框架中: Enumerable.Range。
对于其他类型,您可能对我的 MiscUtil 库中的范围类感兴趣。
This is already in the framework: Enumerable.Range.
For other types, you might be interested in the range classes in my MiscUtil library.
或者,扩展方法的流畅接口:
使用如下:
Alternately, a fluent interface from extension methods:
used like:
这是一个让范围类可以处理离散事物和非离散事物的想法:
Here's an idea that lets a range class work with both things that are discrete and those which are not:
如果您认为每次提供枚举器很烦人,这里有一个派生类:
And if you think that supplying the enumerator each time is annoying, here's a derived class: