您的位置:首页 > 编程语言 > ASP

ASP.NET 2.0 C# Generics List Collection Folder Control

2007-05-20 23:25 537 查看
This page demonstrates using a Generics List Collection in C# how to retrieve all folders, subfolder, and folders within subfolders.




/**//*




In this example, we are getting all folders, subfolders, and folders within




subfolders. Then we can load them into any control.




*/








using System;




using System.Collections.Generic;




using System.IO;




using System.Web.UI;








namespace StrongTypes






...{




public class FolderExample






...{




private List<string> ListFolders = new List<string>();








public void PopulateFolders(string strFolderLocation, Control ctrl)






...{




LoadFolders(strFolderLocation);








foreach (string str in ListFolders)






...{




//Add code here to add folders and subfolders to Control




}




}








private void LoadFolders(string strFolderLocation)






...{




DirectoryInfo dir = null;








try






...{




dir = new DirectoryInfo(strFolderLocation);








FileSystemInfo[] info = dir.GetFileSystemInfos();








foreach (FileSystemInfo fsi in info)






...{




if (fsi is DirectoryInfo)






...{




ListFolders.Add(fsi.FullName);




}








AddDirectoriesToList(info);




}




}




catch






...{




if (strFolderLocation == null)






...{




throw new NullReferenceException("The property FileLocation cannot be null");




}








if (!(dir.Exists))






...{




throw new DirectoryNotFoundException("The directory you are trying to search does not exist.");




}




}




}








private void AddDirectoriesToList(FileSystemInfo[] info)






...{




foreach (FileSystemInfo fsi in info)






...{




if (fsi is DirectoryInfo)






...{




if (!(ListFolders.Contains(fsi.FullName)))






...{




ListFolders.Add(fsi.FullName);




}








DirectoryInfo dir = (DirectoryInfo)fsi;




AddDirectoriesToList(dir.GetFileSystemInfos());




}




}




}




}




}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: