17

重複の可能性:
C# の読み取り専用 (「const」に似た) 関数パラメーター C#
に const メンバー メソッドと const パラメーターがないのはなぜですか?

過去に C++ でプログラミングしたことがあるので、メソッドで定数参照/ポインター パラメーターを作成できることを思い出しました。

私の記憶が正しければ、以下は、メソッドが参照を変更できず、参照自体が定数参照であることを意味します。

C++ の例

void DisplayData(const string &value) const
{
   std::count << value << endl;
}

クラスのメソッドに相当するものは C# にありますか?

私が尋ねている理由は、(速度のために) 参照によってオブジェクトを渡そうとしていると同時に、誰もそれを変更したくないからです。

4

2 に答える 2

1

値型 ( intdoublebytechar...、struct) の場合、引数は値として入力されるため、呼び出しモジュールに影響を与えないことが保証されています。

型についてstringは、参照型ですが、CLR によって不変であるため、プロシージャ内で何をしても元の文字列に影響を与えることはできません。

他の参照型 ( class) の場合、メソッドからのクラスの変更を保証する方法はありません。

于 2012-06-11T14:30:28.847 に答える