在 Unity 中运行 c# .NET 3.5 代码会产生一个非常奇怪的问题
class X
{
static List<X> _l = new List<X>();
public X()
{
_l.Add(this);
Debug.Log(_l.Count(x=>x==this));
}
}
对于我创建的每个对象,计数器都会增加 1... 给出了什么?这当然是来自更大应用程序的片段,但核心问题很简单;当从构造函数添加到 List 然后从所述列表中检索自身时,无论对象是如何创建的,都应该只给出 1 个结果和 1 个结果;正确的?
如果需要更多代码,我会添加它,但我希望有人以前经历过。我不确定 Mono Unity 使用哪个版本,但我认为它是 2.0。