小编zhe*_*zhe的帖子

如何快速检查文件夹是否为空(.NET)?

我必须检查磁盘上的目录是否为空.这意味着,它不包含任何文件夹/文件.我知道,有一个简单的方法.我们得到FileSystemInfo的数组并检查元素的数量是否等于零.像这样的东西:

public static bool CheckFolderEmpty(string path)
{
    if (string.IsNullOrEmpty(path))
    {
        throw new ArgumentNullException("path");
    }

    var folder = new DirectoryInfo(path);
    if (folder.Exists)
    {
        return folder.GetFileSystemInfos().Length == 0;
    }

    throw new DirectoryNotFoundException();
}
Run Code Online (Sandbox Code Playgroud)

这种方法似乎没问题.但!!从表现的角度来看,这是非常非常糟糕的.GetFileSystemInfos()是一种非常难的方法.实际上,它枚举文件夹的所有文件系统对象,获取它们的所有属性,创建对象,填充类型化数组等.所有这些只是为了简单地检查长度.那是愚蠢的,不是吗?

我只是描述了这样的代码并确定,这种方法的〜250次调用在~500ms内执行.这是非常缓慢的,我相信,它可以更快地完成.

有什么建议?

.net directory io

129
推荐指数
8
解决办法
12万
查看次数

ASP.NET用户控件列表/集合/数组属性

我创建了用户控件.它有string[]公共财产(可能是List<string>或其他).我想支持在声明此usercontrol的实例时在aspx代码中定义此属性.像这样的东西:

<uc1:MyControl ID="MyControl1" runat="server">
    <MyStringCollectionProperty>
        <string>My String 1</string>
        <string>My String 2</string>
        <string>My String 3</string>
    </MyStringCollectionProperty>
</uc1:MyControl>
Run Code Online (Sandbox Code Playgroud)

如何使它工作?谢谢...

asp.net user-controls properties list

6
推荐指数
2
解决办法
7131
查看次数

标签 统计

.net ×1

asp.net ×1

directory ×1

io ×1

list ×1

properties ×1

user-controls ×1