Ho sbattuto la testa contro il muro per 25 minuti cercando di capire perché non riesco ad accedere al "primo" indice di un array, che stavo cercando di fare con l'array [0]. Ho continuato a ottenere un'eccezione per l'indice di array fuori dai limiti. Solo per vedere cosa sarebbe successo, ho provato ad usare array [1] ... e ha funzionato. Perfettamente. Non ho idea del perché.C# Array di componenti aggiuntivi di Outlook iniziano da 1?
for (int i = 1; i < itemCounter+1; i++)
{
if (explorer.CurrentFolder.Items[i] is Outlook.MailItem)
{ //Do something }
}
Il tutto funziona bene. Cosa sta succedendo qui?
Che cosa dice la documentazione? Mi sembra che 'Items' sia un tipo di collection avvolto che sovraccarica' operator [] 'e lancia un' IndexOutOfRangeException' per l'indice 0. Si noti inoltre che gli array VB sono a 1 indice, quindi forse questo è uno shim di compatibilità? (mi sembra strano, ma hey, chi lo sa.) Non puoi dare un'occhiata alla collezione nel debugger? –
Sì, la maggior parte delle raccolte nel modello a oggetti di Office sono a base uno. Sono d'accordo che la documentazione di OOM è scritta in modo terribilmente maleducato. – Douglas