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

106
9

Я следую этот учебник из 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);
}
}

спросил(а) 2012-02-22T07:52:00+04:00 9 лет, 1 месяц назад
1
Решение
123

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

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

ответил(а) 2012-02-22T07:54:00+04:00 9 лет, 1 месяц назад
97

.. - это каталог контейнера. Таким образом, ../.. означает "вверх" дважды.

Например, если ваш текущий каталог C:/projects/a/b/c, то ../.. будет C:/projects/a

ответил(а) 2012-02-22T07:54:00+04:00 9 лет, 1 месяц назад
87

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


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

ответил(а) 2012-02-22T07:55:00+04:00 9 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема