我需要一个从1到 x 的整数列表,其中 x 由用户设置。我可以用 for 循环来构建它,例如假设 x 是一个整数集合:
List<int> iList = new List<int>(); for (int i = 1; i <= x; i++) { iList.Add(i); }
这看起来很愚蠢,肯定有一个更优雅的方式来做到这一点,类似于 PHP 范围法
拯救 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<int> = 1.To(x).ToList();
下面是一个返回整数 List 的简短方法。
public static List<int> MakeSequence(int startingValue, int sequenceLength) { return Enumerable.Range(startingValue, sequenceLength).ToList<int>(); }