#freeze
[[.NET]]
デスクトップとか、マイドキュメントとか、そういうユーザーや環境によって違う情報を抽象的に表現できると便利よね。というか、この機能ないと困るわよね特にWindowsは。~
(UNIXとかもあるにはあるけど、ある程度統一されちゃってるから困らないのよね。/home/usernameとか)
たとえば、デスクトップをコンソールに書きたいならこうよ。
:デスクトップ|Console.WriteLine(System.Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory));
Environment.SpecialFolder って、なんかそのまんまな名前よねえ。ちなみにこれは列挙体になっていて、中身はこんな感じらしいわ。
,DesktopDirectory,デスクトップ
,MyDocuments,マイドキュメント(C:\Users\username\Documents)
,MyMusic,説明不要
,MyPictures,説明不要
,ApplicationData,ユーザーのApplication Dataフォルダ(C:\Users\username\AppData\Roaming)
,UserProfile,ユーザーのプロファイルフォルダ(C:\Users\username) Unixでいう$HOMEに匹敵しそう。
ただし、UserProfileは.NET4以降らしいわね。(つまりVS2010ではダメ?)