2012-02-22 25 views
5

Estoy siguiendo this tutorial desde MSDN.¿Qué significa @ "../ .." en una ruta?

Hay algo que vi en el código que no puedo entender

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

posible duplicado de [¿Cuál es el @ delante de una cadena en C#?] (Http://stackoverflow.com/questions/556133/whats-the-in-front-of-a-string-in-c) –

Respuesta

7

@ es de cadena pie de la letra, por lo que la cadena se trata como es. Especialmente útil para las rutas que tienen un \ que podría ser entendido como caracteres de escape (como \n)

../.. es ruta relativa, en este caso, dos niveles de hasta. .. representa el padre del directorio actual y así sucesivamente.

4

.. es el directorio contenedor. Entonces ../.. significa "arriba" dos veces.
Por ejemplo, si el directorio actual es C:/projects/a/b/c continuación ../.. habrá C:/projects/a

+0

¿Por qué downvote? ¿Qué pasa con mi respuesta? – shift66

+0

No es el infractor, pero '.' representa el directorio actual y' ..' estaría un nivel arriba, tal vez alguien estaba molesto al leer su primera línea y, por tanto, votó – V4Vendetta

+0

. Es bastante seguro que es porque el OP * sabe * qué .../ .. significa; él no sabía lo que significa @. Es la combinación lo que lo tiró, especialmente porque el @ es redundante aquí de todos modos. –

Cuestiones relacionadas