次のような、いくつかのパラメーターを使用して別のメソッドを呼び出すメソッドがあるとします。
public void SomeMethod()
{
List<SomeObject> TheList = SomeQueryThatReturnsTheList();
TheList = DoSomeWorkWithList(TheList);
}
public List<SomeObject> WorkForList(List<SomeObject> TheListAsParameter)
{
foreach (SomeObject x in TheListAsParameter)
{
....
}
return TheListAsParameter;
}
ご覧のとおり、このメソッドWorkForList
は受け取ったリストを返します。私の質問は次のとおりです。リストを返さずに署名を書き直さない場合public void WorkForList(List<SomeObject> TheListAsParameter)
、C# での参照渡しは、メソッドで行われた作業で TheListSomeMethod
が更新されることを意味しWorkForList
ますか? もしそうなら、次のコードは同じように動作します:
public void SomeMethod()
{
List<SomeObject> TheList = SomeQueryThatReturnsTheList();
DoSomeWorkWithList(TheList);
}
public void WorkForList(List<SomeObject> TheListAsParameter)
{
....
}
ありがとう。