隐藏树视图文件资源管理器中的系统和隐藏文件

时间:2013-01-12 16:06:33

标签: c#

我在C#Winforms应用程序中有一个树视图,它显示带有隐藏和系统文件的目录

 public TreeNode GetDirectory(TreeNode parentNode)
    {
        DirectoryInfo d = new DirectoryInfo(parentNode.FullPath);
        DirectoryInfo[] dInfo = d.GetDirectories()
                                  .Where(di => !di.Attributes.HasFlag(FileAttributes.System))
                                  .Where(di => !di.Attributes.HasFlag(FileAttributes.Hidden))
                                  .ToArray();
        parentNode.Nodes.Clear();
            if (dInfo.Length > 0)
            {
                TreeNode treeNode = new TreeNode();
                foreach (DirectoryInfo driSub in dInfo)
                {
                    treeNode = parentNode.Nodes.Add(driSub.Name);
                    treeNode.Nodes.Add("");

                }
            }

错误是错误1'System.Array'不包含'Where'的定义,也没有扩展方法'Where'可以找到接受类型'System.Array'的第一个参数(你是否缺少using指令或汇编参考?)

1 个答案:

答案 0 :(得分:0)

DirectoryInfo d = new DirectoryInfo(@"c:\");
DirectoryInfo[] dInfo = d.GetDirectories()
                          .Where(di => !di.Attributes.HasFlag(FileAttributes.System))
                          .Where(di => !di.Attributes.HasFlag(FileAttributes.Hidden))
                          .ToArray();