C#类和只读成员

Bob*_*bbo 8 c#

在C#中编写一个类时,如果只将它们分配给构造函数并且不会在类的其他地方进行更改,那么将所有私有成员变量标记为私有只读是一个好主意吗?或者这有点矫枉过正?

Jon*_*eet 11

是的,我个人认为这是一个好主意.我尽可能地保持类型不可变,并且声明变量readonly是一个良好的开端.当然,这不是全部和最终的 - 如果该变量是可变的(例如一个StringBuilder或一个数组),那么它实际上并没有那么多帮助.我仍然将变量设为只读,但显然我不想改变变量本身的值 - 并且防止自己在同一个类的其他地方意外地这样做,可能是几个月或几年之后.