本文整理汇总了C#中TList.AddRange方法的典型用法代码示例。如果您正苦于以下问题:C# TList.AddRange方法的具体用法?C# TList.AddRange怎么用?C# TList.AddRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TList
的用法示例。
在下文中一共展示了TList.AddRange方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DirectoryList
/// <summary>
/// Returns a list of directories under RootDirectory
/// </summary>
/// <param name="RootDirectory">starting directory</param>
/// <param name="SearchAllDirectories">when true, all sub directories will be searched as well</param>
/// <param name="Filter">filter to be done on directory. use null for no filtering</param>
public static TList<string> DirectoryList(string RootDirectory, bool SearchAllDirectories, Predicate<string> Filter)
{
TList<string> retList = new TList<string>();
try
{
// create a directory info object
DirectoryInfo di = new DirectoryInfo(RootDirectory);
// loop through directories populating the list
Parallel.ForEach(di.GetDirectories(), folder =>
{
try
{
// add the folder if it passes the filter
if ((Filter == null) || (Filter(folder.FullName)))
{
// add the folder
retList.Add(folder.FullName);
// get it's sub folders
if (SearchAllDirectories)
retList.AddRange(DirectoryList(folder.FullName, true, Filter));
}
}
catch (IOException)
{
// don't really need to do anything
// user just doesn't have access
}
catch (UnauthorizedAccessException)
{
// don't really need to do anything
// user just doesn't have access
}
catch (Exception excep)
{
// TODO: save to an error log somewhere
// for now, write to console
Console.WriteLine("Error: {0}", excep.Message);
}
});
}
catch (IOException)
{
// don't really need to do anything
// user just doesn't have access
}
catch (UnauthorizedAccessException)
{
// don't really need to do anything
// user just doesn't have access
}
catch (Exception excep)
{
// TODO: save to an error log somewhere
// for now, write to console
Console.WriteLine("Error: {0}", excep.Message);
}
finally
{
// force garbage collection
GC.Collect();
Thread.Sleep(10);
}
// return the list
return retList;
}