在.NET 中填充整数列表

我需要一个从1到 x 的整数列表,其中 x 由用户设置。我可以用 for 循环来构建它,例如假设 x 是一个整数集合:

List<int> iList = new List<int>();
for (int i = 1; i <= x; i++)
{
iList.Add(i);
}

这看起来很愚蠢,肯定有一个更优雅的方式来做到这一点,类似于 PHP 范围法

43799 次浏览

拯救 LINQ:

// Adding value to existing list
var list = new List<int>();
list.AddRange(Enumerable.Range(1, x));


// Creating new list
var list = Enumerable.Range(1, x).ToList();

请参阅 LINQ101上的 发电营办商

如果您正在使用.Net 3.5,那么 可数范围就是您所需要的。

生成一个积分序列 指定范围内的数字。

我是众多拥有 博客的人之一,博客是一个类似于红宝石的 扩展方法,如果你使用 C # 3.0,你可以编写它:


公共静态类整数扩展
{
Public static IEnumable < int > To (this int first,int last)
{
For (int i = first; i < = last; i + +)
{ 收益率 i; } } }

然后您可以像这样创建整数列表

或者

List<int> = 1.To(x).ToList();

下面是一个返回整数 List 的简短方法。

    public static List<int> MakeSequence(int startingValue, int sequenceLength)
{
return Enumerable.Range(startingValue, sequenceLength).ToList<int>();
}