可以使用arraylist的集合,因为里面的内容是object的。你可以放里面任何东西。

解决方案 »

  1.   

    关于反射,参考:
    http://www.aspcool.com/lanmu/browse1.asp?ID=1160&bbsuser=csharp
      

  2.   

    动态定义变量:string MyValue="6.325478";      //此数据可以从你的配置文件中得到
    string MyType="System.Double";  //此数据可以从你的配置文件中得到,注意大小写要正确object value=Convert.ChangeType(MyValue,Type.GetType(MyType));
      

  3.   

    TO: qpl007(蓝色闪电) ,人家要的是名称而不是值!
      

  4.   

    变量名称动态生成不可能,除非在for循环里控制变量名规律地生成。如果你的配置文件里存放了类名,类所在的dll信息,完全可以在程序里读取出来,然后用反射生成对象!
      

  5.   

    变量名为什么不能动态生成,因为系统在编译的时候,要记录下每个变量,当new的时候,再在堆上开辟存储空间(如果是值类型就直接存在栈上)。如果连变量名都没有,系统如何记录变量呢!!!
      

  6.   

    可以 定义一个enum 类型 来存放所有 IC card 可能被读取的项目用switch()
    {
      case "A" : // ....
      case "B" : // ....
      case "C" : // ....
      case "D" : // ....
    //.....
    }//还不很明白你应用的具体情况 ,你可以把具体要解决的问题说详细一点,最好还有个demo
      

  7.   

    private String[][] getItems()
    {
    //模拟从配置文件获取的信息
    String[,] strItems=new String[,]{{"sg","float"},{"tz","float"},{"wl","float"},{"fhl","int"}};
    return strItmes;
    }
    String[,] strItems=getItems();
    //比如根据这个数组,我就想实现  float sg; float tz; float wl; int fhl;....
    //
      

  8.   

    这是不行的,就是我上面说的原因:
    因为系统在编译的时候,要记录下每个变量,当new的时候,再在堆上开辟存储空间(如果是值类型就直接存在栈上)。如果连变量名都没有,系统如何记录变量呢!!!