看板 C_Sharp 關於我們 聯絡資訊
很抱歉標題可能沒辦法表達我想說的 想請問以下例子是否有可能達成 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 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.103.102 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1586874941.A.E98.html ※ 編輯: unstoppable (36.231.103.102 臺灣), 04/14/2020 23:23:44
w1245h: 是想把類別放進陣列裡面嗎?可以先宣告一個類別陣列 在宣 04/15 08:21
w1245h: 告一個新的物件 把那個物件放進陣列裡就可以了,如果不是 04/15 08:21
w1245h: 就不用加[]直接用s.name =John 就可以了 04/15 08:21
s4300026: 你怎麼知道0對應到name, 2對應到age 04/15 08:31
unstoppable: 我是想讓s[0]有著跟s.name相同效果,想詢問看看是否 04/15 08:52
unstoppable: 有我不知道的方式可以達成 04/15 08:52
O2000: public object this[int index]{get;set;} 04/15 09:18
s4300026: 可是一個是數字(int),一個是文字(string),為什麼你 04/16 07:23
s4300026: 想把他們塞一起? 我的意思是,你舉例的網站,他是用[ ] 04/16 07:23
s4300026: 符號,那你能說說[ ]代表什麼意思嗎? 04/16 07:23
s4300026: 說錯,是kyrc大大的舉例 04/16 07:23
s4300026: O2000是正確答案,但我覺得你要有理由這樣寫 04/16 07:26
ssccg: 有typed property不用,為什麼會想用沒type的indexer... 04/16 09:29
unstoppable: 因為目前有個資料進來是int index分類,像是[0=“Jo 04/16 14:26
unstoppable: hn”],我這邊知道0代表是對應到name,所以想要在 04/16 14:26
unstoppable: 後續處理比較直視的作法s.name=xxx 04/16 14:26
kyrc: 那用索引子的方法呢?就是 O2000 提到的方式 04/16 14:46
Litfal: 至少把index寫成enum吧 04/16 14:54
Litfal: 而且這樣你的set/get不都只能用object 04/16 14:58
kobe8112: 要不要先改成說說看為什麼想這樣做的原因? 04/16 17:33
okok24: https://i.imgur.com/Zrhs2CN.jpg 04/16 19:52
okok24: 反射法可以 但不要在注重效能的系統這麼做 04/16 19:53
unstoppable: 感謝所有回覆,有點頭緒了! 04/16 22:32