Compartir a través de


Usar matrices para enumerar de forma eficaz elementos de una carpeta

Este ejemplo muestra cómo enumerar de forma eficaz los elementos de un objeto Folder mediante el método GetArray(Int32).

Ejemplo

Nota:

El siguiente ejemplo de código es un fragmento de Programming Applications for Microsoft Office Outlook 2007 (Programación de aplicaciones para Microsoft Office Outlook 2007).

En el siguiente ejemplo de código, DemoGetArrayForTable obtiene un objeto Table de un objeto Folder utilizando el método GetTable(Object, Object). Después, DemoGetArrayForTable usa el método GetArray para devolver un objeto Array que contiene los elementos de todas las filas de la tabla. El objeto Array devuelto es una matriz bidimensional que representa un conjunto de valores de fila y columna de la tabla. La matriz está basada en cero, en lugar de en uno, como sucede con las colecciones de Outlook. Una vez que se obtiene el objeto Array, el código utiliza un bucle para enumerar por la tabla.

Si usa Visual Studio para probar este ejemplo de código, primero debe agregar una referencia al componente de la biblioteca de objetos de Microsoft Outlook 15.0 y especificar la variable de Outlook al importar el espacio de nombres Microsoft.Office.Interop.Outlook. La instrucción using no debe producirse directamente antes de las funciones en el ejemplo de código, pero debe agregarse antes de la declaración de clase pública. La siguiente línea de código muestra cómo realizar la importación y la asignación en 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));
        }
    }
}

Vea también