就是比如:有7个变量:num1,num2,num3,num4,num5,num6,num7  我现在想获取他们的值 然后我定义了:int i=0; string num[i] zhi.text=num[i] 这样就可以通过改变i的值来改变“num[i]”的值的   我现在就是不知道怎样去定义像num[i]这样的变量的
有什么办法可以实现这样的一种效果不:谢谢

解决方案 »

  1.   

    楼主问题描述不够清楚动态改变变变量(对象)名C#里没这样机制。不仅C#没,就我所知C++和java也没有。
      

  2.   

     int []num= new int[7]{1,2,3,4,5,6,7};
                var nu=from n in num select n;
                foreach(var item in nu){
                 zhi.Text=item;
                       
                }
      

  3.   

    public string[] num = new num[50];         
      

  4.   

    Dictionary<string, object> dicVar = new Dictionary<string, object>();
               object num1 = 5;
               dicVar.Add("num1", num1);
               object obj = dicVar["num" + 1];
               Console.WriteLine(obj);
               Console.Read();
    感觉很怪,但客户的需求必须满足嘛
    下面这个是反射的,我也是刚刚学会,话说世间两大神:百度,谷歌
    namespace csdn测试
    {
        class Program
        {
            public int num1 = 1;
            public int num2 = 2;
            public int num3 = 3;
            static void Main(string[] args)
            {
               Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
               Type type = assembly.GetType("csdn测试.Program");
               object obj = Activator.CreateInstance(type, true);           FieldInfo classField = type.GetField("num"+1);
               Console.WriteLine("num"+1+":" + classField.GetValue(obj).ToString());
               Console.Read();
            }
        }
    }
      

  5.   

    希望这个对你有参考作用
    C#里面中将字符串转为变量名例如string str = "spp";string spp = "very good";怎样搞 str 而得到 very good 这个值?你好, 
        public partial class Form1 : Form
        {
            string str = "spp";
            public string spp = "very good";        public Form1()
            {
                InitializeComponent();            MessageBox.Show(this.GetType().GetField(str).GetValue(this).ToString());
            }
        }