• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 368
  • 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
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
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
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: Microsoft Exchange Server

The MCTS: Microsoft Exchange Server 2010 certification validates your skills in supporting the maintenance and administration of the Exchange servers in an enterprise environment. Learn everything you need to know with this course.

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