How to check whether 2 DirectoryInfo objects are pointing to the same directory?

前端 未结 5 2032
眼角桃花
眼角桃花 2020-12-10 14:11

I have 2 DirectoryInfo objects and want to check if they are pointing to the same directory. Besides comparing their Fullname, are there any other better ways

5条回答
  •  青春惊慌失措
    2020-12-10 14:40

    You can use Uri objects instead. However, your Uri objects must point to a "file" inside these directories. That file doesn't actually have to exist.

        private void CompareStrings()
        {
            string path1 = @"c:\test\rootpath";
            string path2 = @"C:\TEST\..\TEST\ROOTPATH";
            string path3 = @"C:\TeSt\RoOtPaTh\";
    
            string file1 = Path.Combine(path1, "log.txt");
            string file2 = Path.Combine(path2, "log.txt");
            string file3 = Path.Combine(path3, "log.txt");
    
            Uri u1 = new Uri(file1);
            Uri u2 = new Uri(file2);
            Uri u3 = new Uri(file3);
    
            Trace.WriteLine(string.Format("u1 == u2 ? {0}", u1 == u2));
            Trace.WriteLine(string.Format("u2 == u3 ? {0}", u2 == u3));
    
        }
    

    This will print out:

    u1 == u2 ? True
    u2 == u3 ? True
    

提交回复
热议问题