私はアレイの[最初の]インデックスにアクセスできない理由を調べるために、25分間壁に向かって頭を叩きました。私はArray Index Out of Bounds Exceptionを取得し続けました。何が起こるかを見てみると、私は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つで、おそらくこれは互換性のシムですか? (私には奇妙に聞こえますが、ちょっと、誰が知っていますか?)あなたはデバッガのコレクションをちょうど見ることはできませんか? –
はい、Officeオブジェクトモデルのほとんどのコレクションは1ベースです。私は、OOMのドキュメントが苦労して書かれていることに同意します。 – Douglas