2011-12-18 77 views
0

需要幫助的新手。以下代碼將統計收件箱下的所有子文件夾,但問題是這些子文件夾下總是有許多文件夾。我有困難的工作如何計算的子文件夾下的子文件夾,如果你明白我的意思:)如何統計收件箱中的子文件夾,包括Outlook中的子文件夾等下的子文件夾

MAPIFolder oFolder = this.ns.GetSharedDefaultFolder(oRecip, OlDefaultFolders.olFolderInbox); 
int result = oFolder.Folders.Count; 
foreach (MAPIFolder subFolder in oFolder.Folders) 
    { 
     result =+ oFolder.Folders.Count; 
    } 
tbFolderItemCount.Text = result.ToString(); 
+0

你將如何計算,包括所有子目錄的目錄下的文件?問題是一樣的。 – 2011-12-18 21:55:07

回答

2

我不知道你正在使用的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); 
+0

謝謝hawkke,這工作得很好! – 2011-12-19 20:20:43

相關問題