[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 367
  • Last Modified:

manipulate variable names

I have two variables :
string variable0 = "";
string variable1="";

i want to get them populated insidde a loop

for (i = 0;i <2;i++)
{
what i want over here is what ever the loop index that variable should be populated
variable(i) = "test" + i  // how do i do this line
}
0
pratikshahse
Asked:
pratikshahse
1 Solution
 
richard_hughesCommented:
Hello pratikshahse

Try something like this:

Thanks,

Richard Hughes
string[] myStrings = new string[2];

for (int i = 0; i < 2; i++)
{
    myStrings[i] = "test" + i;
}

Open in new window

0
 
kris_perCommented:

You can have the variables as properties in a class or structure and then you can use Reflection to make the property name in the loop and set value for that  property...
0
 
kris_perCommented:
Continuing above comment...sample code below:
    public class MyObject
    {
        public string Name0;
        public int Name1;
    }

///////////////////

            MyObject obj = new MyObject();
            Type mt = typeof(MyObject);
            for (int i = 0; i < 2; i++)
            {
                string propertyName = "Name" + i;
                PropertyInfo pi = mt.GetProperty(propertyName);
                pi.SetValue(obj, "test" + i, null);
            }

Open in new window

0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
kris_perCommented:

This one is better....
public class MyObject
    {
        public string Name0;
        public string Name1;
    }

///////////////////

            MyObject obj = new MyObject();
            Type mt = typeof(MyObject);
            for (int i = 0; i < 2; i++)
            {
                string propertyName = "Name" + i;
                FieldInfo fi = mt.GetField(propertyName);
                fi.SetValue(obj, "test" + i);
            }

Open in new window

0
 
Vikram Singh SainiSoftware Engineer cum AD DeveloperCommented:
Hi,

Check code.

Regards,
VSS

using System;
using System.Collections.Generic;
using System.Text;

namespace String
{
    class Program
    {
        static void Main(string[] args)
        {
            string variable0 = "";
            string variable1 = "";

            for (int i = 0; i < 2; i++)
            {
               if(i.Equals(0))
               {
                variable0="test"+i.ToString();
                Console.WriteLine(variable0);
               }

                if(i.Equals(1))
                {
                    variable1="test"+i.ToString();
                    Console.WriteLine(variable1);
                }               
            }
            Console.ReadLine();
        }
    }
}

Open in new window

0
 
ajranCommented:
switch (i) {
case 0:
 variable0="test0";
break;
case 1:
 variable1="test1";
break;
}
0

Featured Post

The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now