添加(对象)c#
如果我有一个名为添加(对象)c#,c#,list,xna,C#,List,Xna,如果我有一个名为shape的对象,并且我做了myList.Add(shape),以后我会:shape=GetNewShape()重置所有内容,myList中的形状是否会受到影响?还是会保持不变 我在XNA应用程序中遇到了问题,其中我有一组shape对象和一个单独的shape对象,我为它们设置了动画。一旦完成动画制作,我就创建一个新的开始动画制作。不,您的shape变量只保存对该形状的引用。如果为其指定新的形状对象,则列表中包含的引用仍将是旧的 在shape上调用方法,如shape.DoCrazy
shape
的对象,并且我做了myList.Add(shape)代码>,以后我会:shape=GetNewShape()代码>重置所有内容,myList中的形状是否会受到影响?还是会保持不变
我在XNA应用程序中遇到了问题,其中我有一组shape
对象和一个单独的shape
对象,我为它们设置了动画。一旦完成动画制作,我就创建一个新的开始动画制作。不,您的shape变量只保存对该形状的引用。如果为其指定新的形状对象,则列表中包含的引用仍将是旧的
在shape上调用方法,如shape.DoCrazyStuff()代码>可以改变对象本身,因此也会被列表中的对象反映出来
但是,是的,你应该读一读C#basics。我认为你需要读一本C#basic教程。(答案是列表不会受到影响)您需要了解对象和引用。如果有疑问,请在console项目中启动并测试…@Valamas AUS如果有疑问,请启动LinqPad()即时编码,而无需Visual Studio的负载。;)您的答案似乎假设shape
是一种引用类型(即类)。如果它是一个值类型(即struct
),那么你所说的就不是真的。谢谢你提供的信息!