Compartilhar via


Usar matrizes para enumerar itens em uma pasta com eficiência

Este exemplo mostra como enumerar com eficiência itens em um objeto Folder usando o método GetArray(Int32).

Exemplo

Observação

O exemplo de código a seguir foi tirado do artigo Programação de aplicativos do Microsoft Office Outlook 2007.

No exemplo de código a seguir, DemoGetArrayForTable obtém um objeto Table de um objeto Folder usando o método GetTable (Object, Object). DemoGetArrayForTable então usa o método GetArray para retornar um objeto Array que contém elementos para cada linha da tabela. O objeto Array retornado é uma matriz bidimensional que representa um conjunto de valores de linha e coluna da Table. A matriz é baseada em zero, em vez de baseada em um, como é o caso de coleções do Outlook. Uma vez obtido o objeto Array, o código usa um loop for para enumerar por meio da tabela.

Se usar o Visual Studio para testar este exemplo de código, adicione primeiro uma referência ao componente da biblioteca de objetos do Microsoft Outlook 15.0 e especifique a variável do Outlook quando importar o namespace Microsoft.Office.Interop.Outlook. A instruçãousing não deve ocorrer diretamente antes das funções no exemplo de código, mas deve ser adicionada antes da declaração de classe pública. The following line of code shows how to do the import and assignment in C#.

using Outlook = Microsoft.Office.Interop.Outlook;
private void DemoGetArrayForTable()
{
    // Obtain Inbox
    Outlook.Folder folder =
        Application.Session.GetDefaultFolder(
        Outlook.OlDefaultFolders.olFolderInbox)
        as Outlook.Folder;
    Outlook.Table table =
        folder.GetTable("", Outlook.OlTableContents.olUserItems);
    Array tableArray = table.GetArray(table.GetRowCount()) as Array;
    for (int i = 0; i <= tableArray.GetUpperBound(0); i++)
    {
        for (int j = 0; j <= tableArray.GetUpperBound(1); j++)
        {
            Debug.WriteLine(tableArray.GetValue(i, j));
        }
    }
}

Confira também