您的位置:程序门 -> .net技术 -> c#



struct结构成员访问的问题!!在线等!!!!


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


struct结构成员访问的问题!!在线等!!!![已结贴,结贴人:jqiu780423]
发表于:2007-02-13 14:22:55 楼主
自定义二个struct
public   struct   test
                {
                        public   string   tmp001;
                        public   string   tmp002;
                        public   string   tmp003;
                        public   string   tmp004;
                        public   string   tmp005;

                };
例如我想引用tmp001这个成员,除了   test.tmp001   之外,还有没有其他方法?
就是最好能动态的指定需要访问的成员.比如,传给我一个数值2,我就去访问tmp002成员,传给我一个20,我就访问tmp020这个成员

如果这样的想法实现不了,也请高手给定个性,我好死了这个心
发表于:2007-02-13 14:45:091楼 得分:0
test   t   =   new   test();
                        t.tmp001   =   "haha ";
                        console.writeline(typeof(test).getfields()[0].getvalue   );
                        int   i=1;
                        console.writeline(typeof(test).getfield( "tmp00 "   +   i.tostring()).getvalue   );
发表于:2007-02-13 14:45:572楼 得分:20
getvalue(t)   写落了
发表于:2007-02-13 14:52:363楼 得分:10
参考   我写的这个
http://blog.csdn.net/jetxia/archive/2007/02/09/1505985.aspx
发表于:2007-02-13 14:53:084楼 得分:15
如果你的变量名都像tmp00x这样有规律的话,用反射就可以了,
参见
http://blog.csdn.net/tjvictor/archive/2007/01/24/1492079.aspx
发表于:2007-02-13 14:59:505楼 得分:5
学习了
发表于:2007-02-13 15:12:566楼 得分:5
mark+up
发表于:2007-02-13 15:17:317楼 得分:10
1.用反射
2.用if或switch判断
发表于:2007-02-13 15:19:248楼 得分:5
mark
---------------------------------------
俺兜兜里有糖
发表于:2007-02-13 15:26:389楼 得分:20
public   static   string   gettestvalue(test   t,int   i)   {
                        string   str;
                        if   (i   <   10)
                        {  
                                str   =   "tmp00 ";  
                        }
                        else   if   (i   <   100)
                        {
                                str   =   "tmp0 ";
                        }
                        else   {
                                str   =   "tmp ";
                        }
                        return   (string)typeof(test).getfield(str   +   i).getvalue(t);
                }
发表于:2007-02-13 15:29:0510楼 得分:0
我是要设置struct里面的值啊,刚才我看了个位大人给的东西,好像反射对于struct没有什么效果啊,在invokemember中,会说tmp001这个字段不存在
我要设置struct里面的成员值
发表于:2007-02-13 15:48:5111楼 得分:10
macosx()   的方法不行吗?

如果楼主的结构仅仅是这么简单的
可以用数组来得更快
发表于:2007-02-13 15:58:4912楼 得分:0
哈哈,谢谢各位大人,macosx的方法可行,he_8134的方法,以及jetxia   和tjvictor的例子都是可行的,刚才脑子上有个坑呢,自己想不明白.多谢,多谢,结贴了!


快速检索

最新资讯
热门点击