小编use*_*970的帖子

为什么这个c#代码这么慢?目录/文件搜索和添加所需的优化

我已经编写了一些相当快速的代码,并且自从将其更改为"SearchOption.AllDirectories"后,即使只加载表单/应用程序也需要一分钟.

我能做些什么来使这个应用程序在加载时运行得更快?任何帮助/信息将不胜感激.

谢谢.

private const string path = @"R:\Folder One\Folder Two\Folder Three";

public frmMain()
{
    InitializeComponent();

    ListDirectory(treeView1, path);
    treeView1.SelectedNode = treeView1.Nodes[0];
    treeView1.SelectedNode.Expand();
}

private void ListDirectory(TreeView treeView, string path)
{
    treeView.Nodes.Clear();
    var rootDirectoryInfo = new DirectoryInfo(path);
    treeView.Nodes.Add(CreateDirectoryNode(rootDirectoryInfo));
}

private TreeNode CreateDirectoryNode(DirectoryInfo directoryInfo)
{
    var directoryNode = new TreeNode(directoryInfo.Name);
    foreach (var directory in directoryInfo.GetDirectories())
    {
        if (!directory.Name.Contains("_") 
             && !directory.Name.Contains("Word Versions") 
             && !directory.Name.Contains("Visio Flowcharts"))
        {
            var dirFileCount = directory.EnumerateFiles(
                         "*.pdf", SearchOption.AllDirectories).Count();
            dirFileCount += directory.EnumerateFiles(
                         "*.xls", SearchOption.AllDirectories).Count();
            dirFileCount += directory.EnumerateFiles(
                         "*.doc", SearchOption.AllDirectories).Count();
            dirFileCount …
Run Code Online (Sandbox Code Playgroud)

c# directory treeview file

1
推荐指数
1
解决办法
1026
查看次数

标签 统计

c# ×1

directory ×1

file ×1

treeview ×1