关于C#:在.NET中填充整数列表

关于C#:在.NET中填充整数列表

Populating a list of integers in .NET

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

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

这似乎很愚蠢,肯定有更优雅的方法可以做到这一点,例如PHP range方法


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

Generates a sequence of integral
numbers within a specified range.


LINQ进行救援:

1
2
3
4
5
6
// 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();

在LINQ 101上查看发电运营商


我是写过ruby-esque To扩展方法博客的众多人之一,如果您使用的是C#3.0,则可以编写该方法:

1
2
3
4
5
6
7
8
9
10
public static class IntegerExtensions
{
    public static IEnumerable<int> To(this int first, int last)
    {
        for (int i = first; i <= last; i++)
        {
            yield return i;
        }
    }
}

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

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

要么

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


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

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


推荐阅读

    linux看用户信息命令?

    linux看用户信息命令?,系统,密码,信息,状态,软件,情况,命令,用户,网络,时间,l

    linux命令行设置字体?

    linux命令行设置字体?,系统,工具,终端,软件,电脑,数字,位置,等级,字体,命令,L

    linux下删除用户命令?

    linux下删除用户命令?,系统,代码,邮箱,用户组,命令,用户,名称,管理,电脑,账

    用户id的linux命令?

    用户id的linux命令?,系统,密码,信息,联系方式,地址,位置,用户,命令,用户名,

    linux命令快捷设置?

    linux命令快捷设置?,第一,系统,名称,终端,发行,首页,命令,快捷键,窗口,桌面,l

    linux命令设置扩展屏?

    linux命令设置扩展屏?,工具,系统,电脑,技术,软件,装备,情况,工作,命令,显示

    linux删除用户组命令?

    linux删除用户组命令?,管理,系统,密码,电脑,名称,用户,用户组,名字,信息,工

    linux下用户权限命令?

    linux下用户权限命令?,管理,系统,密码,地址,权限,时间,基础,信息,基本知识,

    linux磁盘列表命令?

    linux磁盘列表命令?,情况,管理,系统,单位,信息,数据,命令,磁盘,服务,时间,lin

    linux登陆用户命令?

    linux登陆用户命令?,系统,工具,信息,地址,软件,工作,命令,数字,服务,名称,Lin

    linux用户名改名命令?

    linux用户名改名命令?,系统,密码,命令,代码,名称,用户名,用户,终端,主机名,

    linux命令设置中文?

    linux命令设置中文?,系统,工作,数据,管理,设备,环境,标的,第一,网上,模式,lin

    设置网址命令linux?

    设置网址命令linux?,地址,系统,网络,代码,网址,密码,信息,电脑,管理,基础,lin

    linux用户分组命令?

    linux用户分组命令?,系统,命令,电脑,信息,时间,标准,资料,用户,文件,用户组,L

    linux命令改用户所属?

    linux命令改用户所属?,系统,文件,名称,用户组,命令,用户,名录,基本知识,所

    linux系统用户组命令?

    linux系统用户组命令?,系统,管理,密码,代码,用户组,用户,命令,邮箱,电脑,名

    linux用户管理的命令?

    linux用户管理的命令?,系统,管理,信息,地址,工作,用户,单位,基础,数据,命令,L

    linux循环复制命令?

    linux循环复制命令?,系统,文件,命令,目录,地址,源文件,文件夹,目标,文件名,

    linux设置日期命令?

    linux设置日期命令?,时间,系统,标准,命令,信息,大陆,国家,日期,时钟,时区,详