在c#中生成1到100整数数组的简明方法

时间:2012-03-23 15:48:14

标签: c#

我正在寻找一种在c#中生成1到100整数数组的简洁方法,即

        int[] values =  {1,2,3 ..., 100}; 

这样我就可以在foreach循环中使用该数组:

       foreach (var i in values)
        {
            // do whatever  
        }

有什么想法吗?

2 个答案:

答案 0 :(得分:21)

使用Enumerable.Range

Enumerable.Range(1, 100).ToArray();

答案 1 :(得分:3)

我可能没有太多意义 - Oded的18票(包括我自己的+1票)几乎都说了,但只是要指出如果你打算使用数组中的整数,产生一些东西 - 让我们说一个对象 - 然后你可以把整个事情搞定。

所以,假设你想要一些字符串:

var strings = Enumerable.Range(1,100)
  .Select(i => i.ToString()).ToArray();

为您提供一系列字符串。

或许是从方法调用生成的MyWidget,它使用索引:

var myWidgets = Enumerable.Range(1,100)
  .Select(i => ProduceMyWidget(i)).ToArray();

如果原始foreach代码块不止一行代码 - 那么您只需使用{}

var myWidgets = Enumerable.Range(1,100)
  .Select(i => {
    if(i == 57)
      return ProduceSpecial57Widget(i);
    else
      ProduceByWidget(i);
  }).ToArray();

显然,最后一个示例有点愚蠢 - 但它经常说明传统的foreach如何被SelectToArray()调用取代。