城里的
乡下鱼

C#判断大批量的路径是否存在时,如何缩短判断时间

p按段文件路径是否存在,通常的做法是使用

if(File.Exists(string path)){}

这个方法判断的原理是:打开path所指向的文件,如果文件能够打开,则文件存在;反之,文件不存在

可如果遇到大量的路径需要判断,且因为有的路径不存在或没有权限访问时,这样的方法会消耗大量时间,建议使用下面的方法

[DllImport("Shlwapi.dll", SetLastError = true, CharSet = CharSet.Auto)]
        public extern static bool PathFileExists(string path);

        void Exists()
        {
            // A StringBuilder is required for interops calls that use strings
            StringBuilder builder = new StringBuilder();
            builder.Append(@"C:\test.txt");
            bool exists = PathFileExists(builder.ToString());
        }

 

posted on 2016-11-16 17:22  城里的乡下鱼  阅读(474)  评论(0编辑  收藏  举报