C#中的Const函数参数

The*_*hap 9 c#

可能重复:
C#的只读("const"式)函数参数
为什么C#和const参数中没有const成员方法?

在过去使用C++编程时,我记得我们可以在方法中创建一个常量引用/指针参数.

如果我的记忆是正确的,则下面的意思是该方法不能改变参考,并且参考本身是一个常量参考.

C++示例

void DisplayData(const string &value) const
{
   std::count << value << endl;
}
Run Code Online (Sandbox Code Playgroud)

C#中是否存在类中方法的等价物?

我问的原因是,我试图通过引用传递一个对象(速度),同时不希望任何人改变它.

Ada*_*rth 13

有没有类似C#,它已被要求很多,很多,很多,很多之前倍.

如果您不希望任何人更改"引用",或者您可能意味着对象的内容,请确保该类不公开任何公共setter或变更类的方法.如果您无法更改类,请让它实现一个仅以只读方式公开公开成员的接口,并改为传递接口引用.

如果您的意思是要停止更改引用的方法,那么默认情况下,如果您通过"引用"传递它,则实际上是按值传递引用.从方法更改引用指向的任何尝试只会影响本地方法副本,而不影响调用方的副本.这可以通过ref在引用类型上使用关键字来更改,此时该方法可以将引用指向新的基础对象,并且它将影响调用者.

  • 在 C# 中,现在可以使用 in 关键字将值类型作为常量传递 (2认同)