のような何か:メソッドパラメータをrefまたはvalue(C#)で渡す一般的な短いガイドラインですか?
- メソッド呼び出し後の変数の値が返さなければならない場合: インスタンス化する必要がない場合、メソッド呼び出しの使用REF
前にインスタンス化することができる場合
- 変数の値はどちらもアウトREF を使用していないメソッド呼び出しから他の値を戻す、決定または算出するために使用されている場合、コール前に
を使用
正しく取得できましたか?あなたの短いガイドラインは何ですか?
のような何か:メソッドパラメータをrefまたはvalue(C#)で渡す一般的な短いガイドラインですか?
前にインスタンス化することができる場合
を使用
正しく取得できましたか?あなたの短いガイドラインは何ですか?
これは本当に値型の場合は、あなたの質問が、私が発見した(outキーワードを使用して)参照して値を渡すの一つの良い使い方...
int i = 0;
if (int.TryParse("StringRepresentation", out i)
{
// do something with i which has taken the value of a the previous successful TryParse
}
に答えているかどうかわからない:
あなたはちょうどあなたが、元の店でそれを変更する必要がある場合(値によって)をデフォルト渡す方法を使用含まれている値を使用して、元の場所でそれを変更しないようにしたい場合は
int a = -3;
protected void EnsurePositiveValues(ref int value)
{
if (value < 0)
value = 0;
}
:あなただけのインスタンスを使用するか、それが参照することにより、デフォルトの受け渡し方法を(使用変更する必要がある場合は
元の参照で(再)割り当てが必要な場合は、refを使用します。例:
User u = MembershipAPI.GetUser(312354);
protected void EnsureUser(ref User user)
{
if (user == null)
user = new User();
}
あなたはまた、アカウント値と参照型に取る必要があります。パラメータとしてメソッドに参照型を渡すときは、ポインタを変数に渡します。これは、メソッド内で変数を変更することができ、メソッドを呼び出したコードで使用できることを意味しますが、nullに設定すると、ポインタをnullに設定するだけで、変数は変更されませんメソッドが返されます。