我一直在撞牆25分鐘,試圖弄清楚爲什麼我不能訪問數組的'第一'索引,我試圖用數組[0]來處理數組的第一個索引。我不斷收到一個數組索引超出界限例外。爲了看看會發生什麼,我嘗試使用array [1] ...並且它工作。完美。我不知道爲什麼。C#Outlook插件數組從1開始?
for (int i = 1; i < itemCounter+1; i++)
{
if (explorer.CurrentFolder.Items[i] is Outlook.MailItem)
{ //Do something }
}
整件事情正常。這裏發生了什麼?
該文檔說的是什麼?聽起來像'Items'是一些包裝的集合類型,它重載'operator []'併爲索引0拋出'IndexOutOfRangeException'。另外請注意,VB數組是1索引的,所以也許這是一個兼容性shim? (對我來說聽起來很奇怪,但是,嘿,誰知道。)難道你不能在調試器中窺視集合嗎? – 2012-07-16 20:23:44
是的,Office對象模型中的大多數集合都是基於一個的。我同意OOM文檔寫得很糟糕。 – Douglas 2012-07-16 20:28:20