在c#中有类似C ++ const的东西吗?

时间:2010-12-16 16:01:25

标签: c# c++

  

可能重复:
  Why const parameters are not allowed in C#

我是C ++开发人员,我有一些使用C#的经验。

我一直想知道为什么C#中没有这样的东西:

bool MyFunction(const AnotherClass& x)
{
  //some stuff
}

我个人认为constness是C ++中最好的功能之一(它有助于开发人员增加封装和解耦)。 Sutter(C ++编码标准:101规则,指南和最佳实践)的建议之一永远不会返回您的处理程序,如果我不能通过const引用,我将不仅仅是处理程序而放弃整个类。

我对C#缺乏了解吗? C#中有类似的东西吗?如果没有,为什么C#不使用它?

2 个答案:

答案 0 :(得分:2)

Eric Lippert发表了一篇很棒的文章:Why are const parameters not allowed in C#?

答案 1 :(得分:2)

C#中没有该功能。你可以传递副本, 您可以将对象包装在只读适配器中,也可以将引用传递给不可变对象/结构。