![]() |
1
7
我假设cr是一个对象。您不会每次都创建一个新的CR,所以在ArrayList中有两次相同的引用,因此当您第二次修改它时,实际上是在处理同一个对象。 |
![]() |
2
2
您正在更改
|
![]() |
3
1
问题是变量cr在循环中的两次都是相同的,所以在循环中的两次都修改了同一个对象,并且将同一个对象添加到arraylist中两次。 您没有显示足够的代码来显示CR的声明位置。 你需要做点什么吗
|
![]() |
4
1
CR对象有克隆函数吗? 如果是这样,应该这样做:
|
![]() |
5
0
因为cr没有得到一个新的语句(我不知道cr的类型,或者我会向您展示),所以您只是不断地添加相同的引用。如果要向caseRecordItems添加新的cr项,则需要执行cr=new typeofcr();否则,您只是一次又一次地重写同一对象。 编辑: 一定要在你的循环里做新的 |
![]() |
6
0
如果您没有在for循环中创建cr(无论它是什么),那么每次在循环中都要反复修改同一个对象。您希望在for循环内创建一个新的CR实例。 |
![]() |
7
0
假设cr是一个类,您将需要在每次通过循环时创建该类的新实例,比如cr=new crclassname(); 原因是,添加到caseRecordItems中的是指向对象的指针,而不是对象的副本——这就是为什么当您在第二次传递时更改它时,第一个值似乎也会更改。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |