[问题] C#同时有zero-based和one-based list?

楼主: shadow0326 (非议)   2017-05-22 15:45:58
之前写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,不是很难维护吗?
作者: anumis (阿努米斯)   2017-05-22 16:36:00
.net 本身是zero,但延伸出来的api就不一定了,要看开发者当时的想法
作者: ssccg (23)   2017-05-22 19:57:00
Office是VB/COM时代的东西,.NET的API只是个wrapper吧原本就是.NET的东西全部都是0-based应该说这问题是属于VB的,VB Collection是1-based,array甚至可以任意决定index
楼主: shadow0326 (非议)   2017-05-22 21:16:00
原来如此 可能我开始接触都是写office plugin 才感觉一直碰到one-based

Links booklink

Contact Us: admin [ a t ] ucptt.com