Абсолютный путь к файлу C# в Linux/macOS

#c#

Вопрос:

Рассмотрим следующий код:

 byte[] bytes = await File.ReadAllBytesAsync("~/Desktop/data.bin");
 

Это приводит к следующей ошибке:

Не удалось найти часть пути «/Пользователи/главный пользователь/Рабочий стол/Образец данных/Образец данных/bin/Отладка/net5.0/~/Рабочий стол/data.bin».

Почему путь не считается абсолютным, и как это исправить?

Примечание: Я запускаю это на macOS, но то же самое (предположительно) относится и к Linux.

Комментарии:

1. Не уверен, но вы пробовали Путь. Получить полный путь?

Ответ №1:

Я полагаю, вы можете попробовать Environment.GetFolderPath(Environment.SpecialFolder.Desktop) ?