2011-08-19 35 views
3

我被存储两个简单的常数,MINVALUE和MaxValue的这样初始化在构造一个List<int>初始化列表<int>与LINQ查询

private const int MinValue = 1; 
private const int MaxValue = 100; 

private List<int> integerList = new List<int>(); 

public Class() 
{ 
    for (int i = MinValue ; i < MaxValue ; i++) 
    { 
     integerList .Add(i); 
    } 
} 

有没有办法只是初始化一个简单的LINQ名单查询?由于List<T>可以用IEnumerable<T>构建,是否存在以下形式的查询?

private List<int> integerList = new List<int>(<insert query here>); 

这可能吗?

+1

请注意,'MaxValue'在您的代码中是独占的,即它将生成一个值为1到99的列表。是这个意图吗? – Guffa

+0

@Guffa - 它实际上只是感谢你指出。 –

回答

10

这是可以实现使用Enumerable.Range

List<int> integerList = Enumerable.Range(MinValue, MaxValue - MinValue).ToList(); 
2

假设的MaxValue总是> MINVALUE,

var integerList = Enumerable.Range(MinValue, MaxValue-MinValue).ToList(); 
1

你可以使用Enumerable.Range

List<int> integerList = Enumerable.Range(MinValue, MaxValue - MinValue).ToList(); 
1

尝试IEnumerable.Range(MINVALUE,MaxValue的-MinValue).ToList():MSDN