[问题] 类别内是否能配合索引?

楼主: unstoppable (BEN)   2020-04-14 22:35:39
很抱歉标题可能没办法表达我想说的
想请问以下例子是否有可能达成
class sample
{
public string name{get;set;}
public string number{get;set;}
public int age {get;set;}
}
sample s = new sample();
s[0]="JOHN";//name
s[2]=30;//age
Console.Write(s.name);
//John
感谢
作者: w1245h (hank)   2020-04-15 08:21:00
是想把类别放进阵列里面吗?可以先宣告一个类别阵列 在宣告一个新的物件 把那个物件放进阵列里就可以了,如果不是就不用加[]直接用s.name =John 就可以了
作者: s4300026 (s4300026)   2020-04-15 08:31:00
你怎么知道0对应到name, 2对应到age
楼主: unstoppable (BEN)   2020-04-15 08:52:00
我是想让s[0]有着跟s.name相同效果,想询问看看是否有我不知道的方式可以达成
作者: O2000 (吵死了 闭嘴啦)   2020-04-15 09:18:00
public object this[int index]{get;set;}
作者: kyrc (橘子)   2020-04-15 16:13:00
作者: s4300026 (s4300026)   2020-04-16 07:23:00
可是一个是数字(int),一个是文字(string),为什么你想把他们塞一起? 我的意思是,你举例的网站,他是用[ ]符号,那你能说说[ ]代表什么意思吗?说错,是kyrc大大的举例O2000是正确答案,但我觉得你要有理由这样写
作者: ssccg (23)   2020-04-16 09:29:00
有typed property不用,为什么会想用没type的indexer...
楼主: unstoppable (BEN)   2020-04-16 14:26:00
因为目前有个资料进来是int index分类,像是[0=“John”],我这边知道0代表是对应到name,所以想要在后续处理比较直视的作法s.name=xxx
作者: kyrc (橘子)   2020-04-16 14:45:00
https://dotblogs.com.tw/LazyCodeStyle/2016/05/29/161746那用索引子的方法呢?就是 O2000 提到的方式
作者: Litfal (Litfal)   2020-04-16 14:54:00
至少把index写成enum吧而且这样你的set/get不都只能用object
作者: kobe8112 (小B)   2020-04-16 17:33:00
要不要先改成说说看为什么想这样做的原因?
作者: okok24 (匿名人士)   2020-04-16 19:52:00
https://i.imgur.com/Zrhs2CN.jpg反射法可以 但不要在注重效能的系统这么做
楼主: unstoppable (BEN)   2020-04-16 22:32:00
感谢所有回复,有点头绪了!

Links booklink

Contact Us: admin [ a t ] ucptt.com