2012-02-25 12 views

答えて

1

これは、必要な操作を行う必要があります。

 string firstDirectory = "c:\\my\\dir"; 
     string secondDirectory = "c:\\my\\other\\file.ext"; 


     var first = firstDirectory.Split('\\'); 
     var second = secondDirectory.Split('\\'); 

     var directoriesToGoBack = first.Except(second); 
     var directoriesToGoForward = second.Except(first); 

     StringBuilder directory = new StringBuilder(); 

     bool initial = true; 
     foreach (string s in directoriesToGoBack) 
     { 
      if (initial) 
      { 
       initial = false; 
      } else 
      { 
       directory.Append('\\'); 
      } 
      directory.Append(".."); 

     } 

     foreach (string s in directoriesToGoForward) 
     { 
      directory.Append('\\'); 
      directory.Append(s); 
     } 
     Console.WriteLine(directory.ToString()); 
+0

ありがとうございます - 同じパスに2つのディレクトリに同じ名前がない場合は、owrkと思われます。誰かが徹底的にテストした解決策を持っているなら、私は感謝します。 – ChrisJJ

関連する問題