[問題] C#同時有zero-based和one-based list?

看板C_Sharp (C#)作者 (非議)時間8年前 (2017/05/22 15:46), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串1/1
之前寫c/c++, python比較多 最近初學C#,遇到了一些困擾的問題 首先第一個疑惑就是為什麼C#同時存在zero-based和one-based的list設計呢? naive array和大部分語言一樣是zero-based 但是大部分API返回的list是one-based (例如Outlook.Application.Session.Folders) 同時存在 0~n-1 以及 1~n 兩種list,不是很難維護嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.65.124 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1495439162.A.FC2.html

05/22 16:36, , 1F
.net 本身是zero,但延伸出來的api就不一定了,要看開發者
05/22 16:36, 1F

05/22 16:36, , 2F
當時的想法
05/22 16:36, 2F

05/22 19:57, , 3F
Office是VB/COM時代的東西,.NET的API只是個wrapper吧
05/22 19:57, 3F

05/22 19:57, , 4F
原本就是.NET的東西全部都是0-based
05/22 19:57, 4F

05/22 20:22, , 5F
應該說這問題是屬於VB的,VB Collection是1-based,array
05/22 20:22, 5F

05/22 20:23, , 6F
甚至可以任意決定index
05/22 20:23, 6F

05/22 21:16, , 7F
原來如此 可能我開始接觸都是寫office plugin 才感覺
05/22 21:16, 7F

05/22 21:16, , 8F
一直碰到one-based
05/22 21:16, 8F
文章代碼(AID): #1P8fSw_2 (C_Sharp)
文章代碼(AID): #1P8fSw_2 (C_Sharp)