我一直在撞墙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