C# 不带波浪号(~)的GetEnvironmentVariable(";TEMP";)

C# 不带波浪号(~)的GetEnvironmentVariable(";TEMP";),c#,.net,environment-variables,C#,.net,Environment Variables,我想获取临时文件夹的路径(C:\Users\user\AppData\Local\temp) GetEnvironmentVariable(“TEMP”)工作正常,但我使用tilde获得路径: C:\Users\STANHE~1\AppData\Local\Temp\ 。。我需要没有瓷砖的路径: C:\Users\StanHerrmann\AppData\Local\Temp\ 您可以使用展开它: 如果传入短文件名,它将扩展为长文件名 但是…最好只使用它,这样就不必依赖环境变量来确定正确性。

我想获取临时文件夹的路径(
C:\Users\user\AppData\Local\temp

GetEnvironmentVariable(“TEMP”)
工作正常,但我使用tilde获得路径:

C:\Users\STANHE~1\AppData\Local\Temp\
。。我需要没有瓷砖的路径:

C:\Users\StanHerrmann\AppData\Local\Temp\
您可以使用展开它:

如果传入短文件名,它将扩展为长文件名


但是…最好只使用它,这样就不必依赖环境变量来确定正确性。

为什么您觉得需要长版本?简短的形式是完全有效的。我正在使用一个需要长版本的库。它不太适合短版本非常感谢你。我会采纳你的建议这两个建议是正确的,即使Path.GetTempPath本身最终依赖于环境变量,使用它比一次调用获取临时环境变量更安全。@Richard你说得对
Path.GetTempPath
调用WinAPI函数,该函数最终读取环境(
TMP
然后
TEMP
然后
USERPROFILE
然后是windows目录-最后一个目录实际上困扰着我,现在我意识到了这种行为)。