【发布时间】:2009-12-30 19:58:17
【问题描述】:
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++ 中,我将实现复制构造函数并从其中打印。
对标准的引用将不胜感激。任何相关的在线文章也是如此。
【问题讨论】:
标签: c# .net struct value-type