デスクトップとか、マイドキュメントとか、そういうユーザーや環境によって違う情報を抽象的に表現できると便利よね。というか、この機能ないと困るわよね特にWindowsは。
(UNIXとかもあるにはあるけど、ある程度統一されちゃってるから困らないのよね。/home/usernameとか)
たとえば、デスクトップをコンソールに書きたいならこうよ。
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ではダメ?)