C# 如何仅获取本地用户路径?

C# 如何仅获取本地用户路径?,c#,winforms,C#,Winforms,我有一句话: outputtext = Path.GetDirectoryName(Application.LocalUserAppDataPath) + "\\outputtext"; 该行包含: “C:\Users\bout0\u 000\AppData\Local\Diagnostic\u Tool\u Blue\u Screen\Diagnostic Tool Blue Screen\outputtext” 我希望它只包含: C:\Users\bout0\u 000\AppData\L

我有一句话:

outputtext = Path.GetDirectoryName(Application.LocalUserAppDataPath) + "\\outputtext";
该行包含:

“C:\Users\bout0\u 000\AppData\Local\Diagnostic\u Tool\u Blue\u Screen\Diagnostic Tool Blue Screen\outputtext”

我希望它只包含:

C:\Users\bout0\u 000\AppData\Local

我怎么做呢?

您可以使用静态类

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
枚举提供了各种预定义的位置,您可以将其用作存储数据的基本目录。另一种可能是
环境.SpecialFolder.LocalApplicationData
。两个枚举之间的差异如下所示:

LocalApplicationData作为当前用户使用的应用程序特定数据的公共存储库的目录, 非漫游用户

ApplicationData作为当前漫游用户应用程序特定数据的公共存储库的目录

不要忘记,这些位置由系统上安装的每个应用程序共享。因此,只为应用程序创建一个子文件夹并将数据存储在其中是一种很好的做法。像这样的

string commonFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
string appDataFolder = Path.Combine(commonFolder,"Diagnostic_Tool_Blue_Screen"); 
if(!Directory.Exists(appDataFolder))
    Directory.CreateDirectory(appDataFolder);

string dataFile = Path.Combine(appDataFolder,"outputData.txt");
........ 

为了匹配他的代码,你应该使用
LocalApplicationData
特殊文件夹,你的代码会给他
C:\Users\bout0\u 000\AppData\Remote
是的,@ScottChamberlain如果他有漫游环境,你是对的。我将在回答中添加您的评论