いくつかの変数を関数に渡して、それらから読み取るのではなく、別の変数に設定したいと思います。オブジェクトを作成して実行キューに追加できるシナリオでこれを使用することを計画しています。これにはポインタが正しいでしょうか?
私の質問の説明が不十分であることは承知していますが、それを説明するためのより良い方法がわかりません。
いくつかの変数を関数に渡して、それらから読み取るのではなく、別の変数に設定したいと思います。オブジェクトを作成して実行キューに追加できるシナリオでこれを使用することを計画しています。これにはポインタが正しいでしょうか?
私の質問の説明が不十分であることは承知していますが、それを説明するためのより良い方法がわかりません。
おそらくref
またはout
パラメータが必要なようです。例えば:
public static void SetVariables(out int x, ref int y)
{
// Can't *read* from x at all before it's set
x = 10;
// Can read and write y
y++;
}
public static void Foo()
{
int setOnly;
int increment = 5;
SetVariables(out setOnly, ref increment);
Console.WriteLine("{0} {1}", setOnly, increment); // 10 6
}
詳細については、パラメーターの受け渡しに関する記事を参照してください。
これらの変数は参照型ですか、それとも値型ですか? それらが参照型である場合は、通常どおり関数に渡し、そこからそのプロパティを変更できます。値型の場合は、ref
キーボードを使用する必要があります。