有没有办法在运行时初始化c#中的常量值,就像c ++中的初始化列表一样?
具体来说,我想确保在创建主类后不更改特定值(使用的端口)。也许有另一种方法可以做到这一点。
答案 0 :(得分:3)
您可以使用readonly
关键字:
当字段声明包含只读修饰符时,赋值为 声明引入的字段只能作为其中的一部分出现 声明或在同一类的构造函数中。
示例(从链接的MSDN页面复制):
class Age
{
readonly int _year;
Age(int year)
{
_year = year;
}
void ChangeYear()
{
//_year = 1967; // Compile error if uncommented.
}
}
答案 1 :(得分:0)
您可以使用不带setter的静态属性:
private static int FPort = 1234;
public static int Port { get { return FPort; } }