在.NET中填充整数列表
时间:2020-03-05 18:49:11 来源:igfitidea点击:
我需要一个从1到x的整数列表,其中x由用户设置。我可以使用for循环来构建它,例如,假设x是先前设置的整数:
List<int> iList = new List<int>(); for (int i = 1; i <= x; i++) { iList.Add(i); }
这似乎很愚蠢,肯定有更优雅的方法可以做到这一点,例如PHP range方法
解决方案
回答
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();
在LINQ 101上查看发电运营商
回答
如果使用的是.Net 3.5,则需要Enumerable.Range。
Generates a sequence of integral numbers within a specified range.
回答
我是写过ruby-esque To扩展方法博客的众多人之一,如果我们使用的是C#3.0,则可以编写该方法:
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();