クラスの初期化時に参照として整数を渡し、参照を安全にすることは可能ですか?
class Foo {
private int _refVal;
public Foo(ref int val) {
_refval = val; // saves the value, not the reference
}
}
ポインターを使用できますが、安全でないコンテキストが必要です。
クラスの初期化時に参照として整数を渡し、参照を安全にすることは可能ですか?
class Foo {
private int _refVal;
public Foo(ref int val) {
_refval = val; // saves the value, not the reference
}
}
ポインターを使用できますが、安全でないコンテキストが必要です。
これは不可能です。
代わりに、次のように、書き込み可能なプロパティを持つクラスを使用できます。
class Reference<T> {
public T Value { get; set; }
public Reference(T value) { Value = value; }
}
興味深いことに、なぜこれを行う必要があるのですか?5 に等しい 1 つの整数は、5 に等しい別の整数と等しくなります。それらを区別したい場合は、整数値型を使用しないでください。代わりにクラスが必要です。
これはあなたの質問に対する直接的な答えではありませんが、アルゴリズムを改善することは、欠陥のあるアルゴリズムを実装または改善するよりも優れていると言われています。おそらく、もう少しコンテキストを提供していただければ、より一般的な問題/タスク全体を支援できますか?
それが役立つことを願っています!
私が推測するカスタムクラスにラップします。