C# 如何在Outlook中统计收件箱子文件夹,包括子文件夹下的子文件夹等

C# 如何在Outlook中统计收件箱子文件夹,包括子文件夹下的子文件夹等,c#,outlook,C#,Outlook,需要帮助的新手。下面的代码将统计收件箱下的所有子文件夹,但问题是这些子文件夹下总是有许多文件夹。如果你明白我的意思,我很难计算出如何计算子文件夹下的子文件夹:) 我不知道您正在使用的API,但您需要切换到递归方法。我想可能是这样的: public int CountSubfolders(MAPIFolder folder) { int count = folder.Folders.Count; foreach (MAPIFolder subfolder in folder.Fo

需要帮助的新手。下面的代码将统计收件箱下的所有子文件夹,但问题是这些子文件夹下总是有许多文件夹。如果你明白我的意思,我很难计算出如何计算子文件夹下的子文件夹:)


我不知道您正在使用的API,但您需要切换到递归方法。我想可能是这样的:

public int CountSubfolders(MAPIFolder folder)
{
    int count = folder.Folders.Count;

    foreach (MAPIFolder subfolder in folder.Folders)
    {
        count += CountSubfolders(subfolder);
    }

    return count;
}
您可以使用根文件夹将其命名为:

MAPIFolder oFolder = this.ns.GetSharedDefaultFolder(oRecip, OlDefaultFolders.olFolderInbox);

int subfolders = CountSubfolders(oFolder);

如何计算包含所有子目录的目录下的文件数?问题是一样的。
MAPIFolder oFolder = this.ns.GetSharedDefaultFolder(oRecip, OlDefaultFolders.olFolderInbox);

int subfolders = CountSubfolders(oFolder);