В чем разница между SpecialFolder.Desktop и SpecialFolder.DesktopDirectory? - PullRequest
39 голосов
/ 10 апреля 2011

Меня смущают различия между этими двумя специальными папками.

Вот фрагмент кода, который записывает выходные данные каждой из них, но они выводят одну и ту же вещь.

string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string pathTwo = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory);

Console.WriteLine(path);
Console.WriteLine(pathTwo);

Console.ReadKey();

Согласно документации MSDN ( для .NET 1.1 ):

Рабочий стол
логический рабочий стол, а не физическое расположение файловой системы.

DesktopDirectory
Каталог, используемый для физического хранения файловых объектов на рабочем столе.Не путайте этот каталог с самой папкой рабочего стола, которая является виртуальной папкой.

Что это значит, когда в ней написано the logical Desktop rather than the physical file system location?Кроме того, что такое virtual folder в простых терминах?

В более новой версии документации для .NET 4 я заметил, что они полностью удалили Desktop и оставили только DesktopDirectory.Почему это?

Ответы [ 2 ]

26 голосов
/ 10 апреля 2011

Каталог - это местоположение в файловой системе.Папка - это место в пространстве имен оболочки.Каталог - это своего рода папка.Виртуальная папка не обязательно поддерживается каталогом.Например, рассмотрим библиотеки или папки поиска.

Каталог рабочего стола пользователя - это расположение в файловой системе.Папка рабочего стола объединяет ее с виртуальными элементами, такими как элементы всех пользователей, корзина, ярлык для папки с документами и т. Д.

0 голосов
/ 14 ноября 2018

Истинный ответ заключается в том, что они могут отличаться, особенно по профилям ширины на серверах. Пользователь может работать на рабочем столе, как на файловом ресурсе, или иметь его в локальной системе ... При перенаправлении ОС обычно не сообщает другому программному обеспечению, что оно это сделало. Но если вы действительно хотите туда добраться ...

...