我正在寻找C#中类似Java的final
的等价物。它存在吗?
C#是否有类似以下内容的东西:
public Foo(final int bar);
在上面的例子中,bar
是一个只读变量,不能被 Foo()
改变。在 C# 中有没有任何方法可以实现这个?例如,我有一个长方法将使用某个对象的
x
、y
和 z
坐标(整数)。我想要确保该函数不以任何方式改变这些值,从而破坏数据。因此,我想将它们声明为只读。public Foo(int x, int y, int z) {
// do stuff
x++; // oops. This corrupts the data. Can this be caught at compile time?
// do more stuff, assuming x is still the original value.
}