6
時,我有一類這樣的:指數數組的邊界之外使用的List <Func鍵<T,object>>
class MyClass { public object[] Values; }
別的地方我使用它:
MyClass myInstance = new MyClass() {Values = new object[]{"S", 5, true}};
List<Func<MyClass, object>> maps = new List<Func<MyClass, object>>();
for (int i = 0; i < myInstance.Values.Length ; i++)
{
maps.Add(obj => obj.Values[i]);
}
var result = maps[0](myInstance); //Exception: Index outside the bounds of the array
我以爲它會返回S
,但它拋出異常。任何想法是怎麼回事?
所以我如何使它的工作? –
我已經更新了我的答案。 – MarcinJuraszek
是的,它解決了這個問題。但你能解釋爲什麼'我'值的行爲像參考值? –