呼び出し先メソッドで割り当てられているにもかかわらず、メソッドパラメーター IEnumerable が null を返す理由を教えてください。インターフェイスが参照型であることは誰もが知っています。
ロジックを考慮しないでください。シナリオに合わせてビジネスロジックを置き換えました
static void Main()
{
IEnumerable<int> gEnumerable = null;
Foo(gEnumerable); //here param gEnumerable always returns null even if i assign value at my Foo(), why is it so???
}
static IEnumerable<int> Bar(List<int> lst)
{
return lst.Select(k => k);
}
private static void Foo(IEnumerable<int> response)
{
response = Bar(new List<int> { 1, 2, 3, 4, 5, 6 });
}
これについて親切に説明してください