2012-02-22 6 views
5

MSDNのthis tutorialをフォローしています。パスで@ "../ .."とは何ですか?

私は

private void PopulateTreeView() 
    { 
     TreeNode rootNode; 

     DirectoryInfo info = new DirectoryInfo(@"../.."); // <- What does @"../.." mean? 
     if (info.Exists) 
     { 
      rootNode = new TreeNode(info.Name); 
      rootNode.Tag = info; 
      GetDirectories(info.GetDirectories(), rootNode); 
      treeView1.Nodes.Add(rootNode); 
     } 
    } 
+0

http://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx – zerkms

+3

[C#の文字列の前に@はありますか?](http: /stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-in-c) –

答えて

7

@C:/projects/aは、逐語的文字列のためにあるだろうある場合。この場合、(\nような)エスケープ文字として扱われるかもしれない\

../..が相対パスである持っているパス、最大2つのレベルのために特に有用です。 ..はカレントディレクトリの親を表します。

4

..がコンテナのディレクトリであることを理解することはできませんコードで見た何かがあります。だから../..は "up"を2回意味する。たとえば
あなたの現在のディレクトリがC:/projects/a/b/cが、その後../..は、文字列があるとして扱われるように

+0

なぜdownvote?私の答えは何が間違っていますか? – shift66

+0

downvoterではなく、 '.'は現在のディレクトリを表し、' ..'は1レベル上になります。誰かがあなたの最初の行を読んで怒っていたので、あなたに投票しました – V4Vendetta

+0

OP * .. 手段;彼は@が何を意味するのか分からなかった。とにかくここでは@が冗長であるため、彼を捨てたのはそれです。 –

3

new DirectoryInfo(@"../..")は、「現在のディレクトリの2レベル上のディレクトリ」を意味します。

@は、verbatim string literalを示します。

関連する問題