我用一个单身人士来做我的项目。由于它是局部变量,所以它不会像下面这样使用:
var index = undomanager.singleton.index;
index--;那么,如何在C#中以引用类型定义它呢?否则我就得用
undomanager.singleton.index--;发布于 2022-05-16 17:03:44
编写var index,声明一个新变量。这个变量大概是一个int,它是一个值类型,所以当您通过= undomanager.singleton.index;分配给它时,实际上所做的是在您的单例中创建属性值的副本。因此,下一行上的操作仅适用于副本。
另一方面,编写没有附加变量的undomanager.singleton.index--;直接更新属性值。没有副本。
如果你真的想要一个局部变量,你可以这样做:
var s = undomanager.singleton;
s.index--;上面的代码创建了一个新变量s,但随后为完整的单例对象分配了一个引用(而不是复制的值,因为您的单例几乎肯定不是值类型)。现在,您可以更新这个对象上的index属性,并看到预期的结果。
https://stackoverflow.com/questions/72262843
复制相似问题