我正在寻找与Java等效的C#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.
}