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

本文关键字:整数 数组 方法 简洁 一种 | 更新日期: 2023-09-27 18:28:53

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

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

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

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

有什么想法吗?

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

使用Enumerable.Range:

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

我说这句话可能没有多大意义——奥德的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();

显然,最后一个例子有点傻,但它经常说明如何用SelectToArray()调用来替换传统的foreach