Абсолютные и относительные пути в C#
Относительный путь не начинается с корня диска: это цепочка папок и имя файла относительно некоторой рабочей папки. Когда программа обращается к data.txt, система ищет файл в текущем каталоге процесса:
Узнать текущий каталог можно через Directory.GetCurrentDirectory:
string cwd = Directory.GetCurrentDirectory();
Console.WriteLine(cwd);
Абсолютный путь указывает место на диске полностью - с корневым каталогом или буквой диска. Один и тот же файл можно записать относительным путем logs/app.txt для запуска из папки проекта; абсолютный вид зависит от машины и места запуска, поэтому в примерах чаще используют переносимые относительные пути:
Соберем относительный путь к файлу в подпапке logs:
string rel = Path.Combine("logs", "app.txt");
Console.WriteLine(rel);
Выведите текущий каталог программы и относительный путь notes/readme.md (две строки).
Объясните словами, почему в учебных примерах путь logs/data.txt считают относительным.