我需要一个从1到x的整数列表,其中x由用户设置。我可以使用for循环来构建它,例如,假设x是先前设置的整数:
List<int> iList = new List<int>();
for (int i = 1; i <= x; i++)
{
iList.Add(i);
}
这似乎很愚蠢,肯定有更优雅的方法可以做到这一点,例如PHP range方法
我需要一个从1到x的整数列表,其中x由用户设置。我可以使用for循环来构建它,例如,假设x是先前设置的整数:
List<int> iList = new List<int>();
for (int i = 1; i <= x; i++)
{
iList.Add(i);
}
这似乎很愚蠢,肯定有更优雅的方法可以做到这一点,例如PHP range方法
Answers:
如果使用的是.Net 3.5,则需要Enumerable.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();