struct SomeStruct
{
public int Num { get; set; }
}
class Program
{
static Action action;
static void Foo()
{
SomeStruct someStruct = new SomeStruct { Num = 5 };
action =() => Console.WriteLine(someStruct.Num);
}
static void Main()
{
Foo();
action.Invoke();
}
}
- 是lambda創建時創建的someStruct的副本嗎?
- 是Foo返回時創建的someStruct的副本嗎?
- 我可以確認複印沒有發生嗎?在C++中,我會實現複製構造函數並從裏面打印。
該標準的引用將不勝感激。任何相關的在線文章也是如此。將值類型捕獲到lambda時是否執行了複製?
唯一的問題是你不能爲一個結構創建一個無參數的構造函數。 – Rory 2009-12-30 20:13:49
哎呀,我們對此深感抱歉 – albertein 2009-12-30 20:14:46