Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加(对象)c#_C#_List_Xna - Fatal编程技术网

添加(对象)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
),那么你所说的就不是真的。谢谢你提供的信息!