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







All Articles