我注意到有趣的動作,當我改變列表內部的某個方法,並拋出此方法內的異常,然後超出方法列表的範圍不會改變。列表沒有改變方法外
如何更改強制該列表以更改catch塊?用完了?
List<string> list = null;
try
{
list = new List<string>{"1", "2", "3"};
ChangeMyList(list);
}
catch
{
//here list has 3 elements , why ?
}
void ChangeMyList(List<string> list)
{
list = list.Except(new List<string>{"1", "2"}).ToList();
//here this list has only one element
throw new Exception();
}
列表對象是在try塊的內部範圍內聲明的,因此甚至不抓塊你 – Fabjan
代碼是沒有得到編譯存在。 ChangeMyList方法中的代碼如何工作:List(「1」,「2」)? –
ehh
我更新了你的代碼以實際編譯。 – Jamiec