【发布时间】:2013-10-07 10:33:04
【问题描述】:
这段代码有什么问题? 我收到此错误:“分配给 '....' 的表达式必须是常量”
public const string ConnectionString = System.IO.File.ReadAllText(@"D:\connection.ini");
【问题讨论】:
-
你读过
const上的documentation吗? -
必须在编译时知道“const”值。在您的示例中,您要求编译器离开并执行一段随机代码 - 它不会这样做。
-
您的
File.ReadAllText部分在运行时评估,const用于指定编译时表达式。您可以改用readonly。 -
使用
readonly代替const并设为静态public static readonly string ConnectionString = System.IO.File.ReadAllText(@"D:\connection.ini");,注意现在它只是一个只能在构造函数中更改的字段。 -
不确定这是不是重复的。这个问题涉及有错误的字段,而链接的问题是指局部变量。相同的错误消息,但不同的原因和原因。