在.NET中填充整数列表

时间:2008-09-08 05:45:34

标签: c# .net list integer

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

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

这看起来很愚蠢,肯定会有一种更优雅的方式,比如PHP range method

4 个答案:

答案 0 :(得分:82)

如果您使用的是.Net 3.5,则Enumerable.Range就是您所需要的。

  

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

答案 1 :(得分:37)

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();

请参阅Generation Operators

上的LINQ 101

答案 2 :(得分:16)

如果您使用的是C#3.0,我是blogged关于ruby-esque To 扩展方法的众多人之一:


public static class IntegerExtensions
{
    public static IEnumerable<int> To(this int first, int last)
    {
        for (int i = first; i <= last; i++)
{ yield return i; } } }

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

List<int> = first.To(last).ToList();

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

答案 3 :(得分:0)

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

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