¿Obtener la ruta del directorio de inicio en C #?

Bien, he comprobado Environment.SpecialFolder, pero no hay nada para esto.

Quiero obtener el directorio de inicio del usuario actual en C #. (p.ej.c:\documents and settings\user bajo XP,c:\users\user bajo vista, y/home/user bajo Unix.)

Sé que puedo leer las variables de entorno para averiguarlo, pero quiero hacerlo de forma multiplataforma.

¿Hay alguna manera de que pueda hacer esto con .NET (preferiblemente usando mscorlib)?

ACTUALIZAR: Bueno, este es el código que terminé usando:

string homePath = (Environment.OSVersion.Platform == PlatformID.Unix || 
                   Environment.OSVersion.Platform == PlatformID.MacOSX)
    ? Environment.GetEnvironmentVariable("HOME")
    : Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");