修改路径字符串以提高稳健性

Zai*_*ain 2 c# string path

我有一个字符串,用于我的程序从中读取数据的文件的路径.我想提高稳健性,我记得看到有人这样做.\ blabla\blalbla \但我发现有点难以找到解释这项工作的主题,所以我可以将它实现到我的程序中.

我的路径(我知道命名不正确,但如果我用大写字母P命名它会干扰我的属性)

private const string path = @"C:\Users\zain\Desktop\program_storage\AccountDatabase.txt";
Run Code Online (Sandbox Code Playgroud)

我希望它会像.\program_storage\AccountDatabase.txt(不幸的是这不起作用),因为它意味着我可以移动程序而不必更改常量类中的字符串.

任何和所有的帮助表示赞赏

Chr*_*Fin 5

您可以使用以下内容来存储/读取文件:

var dir = Path.Combine(Environment
    .GetFolderPath(Environment.SpecialFolder.ApplicationData), "MyProgram");
if(!Directory.Exists(dir))
    Directory.CreateDirectory(dir);
var path = Path.Combine(dir, "AccountDatabase.txt");
Run Code Online (Sandbox Code Playgroud)

这将在您的用户帐户的App_Data中使用或创建一个文件夹,然后将路径返回到该文件夹​​中的文件.有关Environment.SpecialFolder其他可能的位置,请参阅枚举.