Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to initialize a list<type> with consecutive values?

I have 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 any easy way of initializing it with 30 consecutive values as shown?

like image 397
Mahindar Boregam Avatar asked May 01 '26 13:05

Mahindar Boregam


1 Answers

Use Enumerable.Range like:

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();
like image 173
Habib Avatar answered May 03 '26 04:05

Habib