2011-08-19 34 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