以前我学过一段时间的Java,最近一段时间开始看C#,现在遇到2个问题想请教大家:
1、关于C#中的“属性”一说,我觉得好那什么噢。Java中说,类有属性和方法,即是指Class由变量和函数组成。而在C#中,除了变量和函数,怎么又出来一个专门叫做属性的“结构体”?这个属性到底有什么用呢?难道就是为了提高封装性?
2、关于索引器这个概念,我很混乱。因为从没这样用过。哪位老大能再给我解释一下么?谢谢了。
1、关于C#中的“属性”一说,我觉得好那什么噢。Java中说,类有属性和方法,即是指Class由变量和函数组成。而在C#中,除了变量和函数,怎么又出来一个专门叫做属性的“结构体”?这个属性到底有什么用呢?难道就是为了提高封装性?
2、关于索引器这个概念,我很混乱。因为从没这样用过。哪位老大能再给我解释一下么?谢谢了。
那么实际的步骤就是:
YourObj[1] -> 调用Indexer -> 调用Indexer对应的方法。
如class1类中有3个属性值name,value,code,
class1 a = new class1()后,如果采用索引器的话就可以如a[2]就返回value,这个就像tables[0]返回第一个表对象一样,是可以自定义的
如class1类中有3个属性值name,value,code,
class1 a = new class1()后,如果采用索引器的话就可以如a[2]就返回value,这个就像tables[0]返回第一个表对象一样,是可以自定义的------------------------------------------------------------------------
我理解了。写个测试程序试试看。
如class1类中有3个属性值name,value,code,
class1 a = new class1()后,如果采用索引器的话就可以如a[2]就返回value,这个就像tables[0]返回第一个表对象一样,是可以自定义的
-------------------------------------------------
a[2]返回code吧
比如:
class A
{
int i = 0;
float a = 0.0;
string heshi = "heshi";
}
然后,我—— A test = new A();
我要达到诸位所说的直接使用test[1]的效果,该怎么做呢?简单的说,我该如何向一个类里面添加一个索引器呢?
(另外小声问一句——各位老大,你们不是采用在VS的类视图里面添加索引器的办法来添加一个索引器的吧?虽然这个方法我在MSDN上也看到了,可是,我觉得对于我这样的初学者来说,还是少用IDE的功能,自己多写代码的好。呵呵。)