2014-09-22 36 views
3

我有這樣如何用連續值初始化列表<type>?

public class Sample 
{ 
    public string A { get; set; } 
    public int B { get; set; } 
} 

var sampleValues = new List<Sample>(){ 
     new Sample(){ A = "a1", B = 1 }, 
     new Sample(){ A = "a2", B = 2 }, 
     new Sample(){ A = "a3", B = 3 }, 
     new Sample(){ A = "a4", B = 4 }, 
     ..... 
     new Sample(){ A ="a30", B = 30} 
    }; 

類是有連續用30個值初始化它的任何簡單的方法如圖所示?

+0

我格式化您的示例代碼(改了一下),以默認C#編碼規則排列(大寫的類和屬性) 。如果它不符合你的風格/目標,請隨時恢復。 – 2014-09-22 16:14:14

回答

12

使用Enumerable.Range,如:

List<Sample> samvalues = Enumerable.Range(1, 30) 
           .Select(r => new Sample {A = "a" + r, B = r}) 
           .ToList(); 

或者

List<Sample> samvalues = Enumerable.Range(1, 30) 
        .Select(r => new Sample {A = String.Format("{0}{1}", "a", r), B = r}) 
        .ToList(); 
+0

感謝其工作 – mahindar 2014-09-22 15:59:55

+0

@mahindar,歡迎您。我相信您的代碼不是真正的代碼,但是如果您使用類似的命名約定,請參閱[一般命名約定 - Microsoft](http://msdn.microsoft.com/zh-cn/library/ms229045(v = vs.110).aspx)爲你的類名稱,屬性等。 – Habib 2014-09-22 16:04:15

+0

其實它只是一個簡單易懂的示例代碼。 – mahindar 2014-09-22 16:05:57