假设我要为文件路径设置一些只读变量,我能否保证根据声明顺序分配值的顺序?
例如
static readonly string basepath = @"my\base\directory\location";
static readonly string subpath1 = Path.Combine(basepath, @"abc\def");
static readonly string subpath2 = Path.Combine(basepath, @"ghi\klm";
这是一种安全的方法,还是basepath
可能仍然是当时字符串的默认值subpath1
并subpath2
引用该字符串?
我意识到我可以通过在构造函数中分配值而不是在声明时来保证顺序。但是,如果我需要在静态类中声明变量(例如控制台应用程序的 Program.cs,它有一个静态 void Main() 过程而不是构造函数),我相信这种方法是不可能的。
更新:
我已经添加了 static 关键字(因为这是我正在使用的以及它编译的原因)以及 Path.Combine 的建议。