Что значит @ "../ .." на пути? - PullRequest
       12

Что значит @ "../ .." на пути?

6 голосов
/ 22 февраля 2012

Я следую этому учебнику из MSDN.

В коде есть что-то, что я не могу понять

    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);
        }
    }

Ответы [ 4 ]

10 голосов
/ 22 февраля 2012

@ для дословной строки, так что строка обрабатывается как есть. Особенно полезно для путей с \, которые могут рассматриваться как escape-символы (например, \n)

../.. - относительный путь, в данном случае на два уровня выше. .. представляет родителя текущего каталога и т. Д.

5 голосов
/ 22 февраля 2012

.. - это каталог контейнера. Так что ../.. означает «вверх» дважды.
Например, если ваш текущий каталог C:/projects/a/b/c, то ../.. будет C:/projects/a

3 голосов
/ 22 февраля 2012

new DirectoryInfo(@"../..") означает «каталог на два уровня выше текущего».

@ обозначает буквенный строковый литерал .

1 голос
/ 27 декабря 2018

пример E: \ Software \ file \ folder

/ - корень текущего диска../ является текущим директором.../ является родителем текущего каталога.то есть -> E: \ ../ .. - это относительный путь, в данном случае на два уровня выше.чтобы получить папку просто напишите "../../folder"

...