How do I initialize a list <type> with sequential values?
I have a class like this
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}
};
Is there an easy way to initialize it with 30 consecutive values as shown?
+3
source to share
1 answer
Use Enumerable.Range
for example:
List<Sample> samvalues = Enumerable.Range(1, 30)
.Select(r => new Sample {A = "a" + r, B = r})
.ToList();
or
List<Sample> samvalues = Enumerable.Range(1, 30)
.Select(r => new Sample {A = String.Format("{0}{1}", "a", r), B = r})
.ToList();
+12
source to share