请问各位如何在C#中实现使用字符串作为数组的索引.
如下:
如果我想建立一个数组存放一些数据
Object Ary = new Object(10);
Ary["Name"] = "Jacky";
Ary["Age"] = 21;
实现的功能类似于这个,我试了一下总是关联不上.不知道使用什么样的数据结构能够实现.

解决方案 »

  1.   

    如果你只有2个字段,用Dictionary很方便
    using System.Collections.Generic;Dictionary<string, int> d = new Dictionary<string, int>();
    d["Jacky"] = 21;
      

  2.   

    用Dictionary啊,这就是数据结构中的哈希表,用字符串做索引,用int做值
      

  3.   

    自定义一个结构体struct Person
            {
                public string Name;
                public string Age;
                public string Sex;
                //...
            }Person[] p=new Person[10];p[0].Name="Jacky";
    ... ...
      

  4.   

    可以用 hashTable 或 Dictionary 
    也可以用枚举
    enum index{
    Name=0,
    Age
    }
    Object Ary = new Object(10); 
    Ary[index.Name] = "Jacky"; 
    Ary[index.Age] = 21; 
      

  5.   

    using System;
    class Arraymethod

      public static void Main()
      {   
      Array arr=Array.CreateInstance( typeof(string),10)
       arr.Setvalue("name",0);
       arr.Setvalue("age",1);
        ........
        for (int i=arr.getlowerbound(0);i<=arr.getupperbound(0);i++)
           console.write("{0}\t",arr.getvalue(i));
       }
    }
      

  6.   

    最后一点疑问?    如果我想将一个object型的数组放在这个Dictionary里面,是否可以????????????
    比如我想这样:ArrayList Ary = new ArrayList();
    Ary.Add(TextBox1);
    Ary.Add(ComboBox1);
    Dictionary <object, object> d = new Dictionary <object, object>(); 
    d["ArrayList"] = Ary;然后我想引用d中的这个集合中的TextBox1和ComboBox1这两个控件,怎么引用?????
    多谢!! 
      

  7.   

    最后一点疑问???????????????????????????????????????
    如果我想将一个object型的数组放在这个Dictionary里面,是否可以???????????? 
    比如我想这样: ArrayList Ary = new ArrayList(); 
    Ary.Add(TextBox1); 
    Ary.Add(ComboBox1); 
    Dictionary <object, object> d = new Dictionary <object, object>(); 
    d["ArrayList"] = Ary; 然后我想引用d中的这个集合中的TextBox1和ComboBox1这两个控件,怎么引用????? 
    多谢!! 
      

  8.   

     Dictionary<string, Control> d = new Dictionary<string, Control>();
     d.Add("TextBox1",TextBox1);
     d.Add("ComboBox1",ComboBox1); TextBox textBox = d[TextBox1] as TextBox;
      

  9.   

    个人喜欢用hashtable,感觉效率高一点.
      

  10.   

    如果像[starts_2000]所说,这里还要引入一个类型转化的过程, 请问是否有更好一点的方法能够绕过这个问题??
    就是不用
        TextBox txtbox = new TextBox();
        txtbox = d[TextBox1];
    而是直接把d[TextBox1]当成TextBox1使用,直接调用.