How to create dynamic incrementing variable using “for” loop in C#

15,845

Solution 1

You can't create dynamically-named variables. All you can do - it to create some collection or array, and operate with it. I think the best class for you is generic List<>:

List<String> listWithDynamic = new List<String>();
for (int i = 1; i < limit; i +=1)
{
    listWithDynamic.Add(string.Format("track_{0}", i));
    ...
}

Solution 2

Assuming you want strings:

for (int i = 1; i < limit; i +=1)
{
    string track = string.Format("track_{0}", i);
    ...
}

But when you already have variables called track_1, track_2, track_3, track_4 you will need an array or List:

var tracks = new TrackType[] { track_1, track_2, track_3, track_4 } ;

for (int i = 0; i < tracks.length; i++)
{
    var track = tracks[i];  // tracks[0] == track_1
    ...
}
Share:
15,845
infinity
Author by

infinity

Updated on June 05, 2022

Comments

  • infinity
    infinity about 2 years

    How to create dynamic incrementing variable using "for" loop in C#? like this: track_1, track_2, track_3, track_4. so on.