gpt4 book ai didi

c# - List> 完全重复

转载 作者:太空宇宙 更新时间:2023-11-03 18:58:15 26 4
gpt4 key购买 nike

我编写了一个逐行读取文件、计算位置向量并将这些向量添加到列表中的函数。这些中的每一个List<Vector3> positionPerFrame然后添加到 List<List<Vector3>> _frame

虽然每个positionPerFrame在 forEach 循环的每个循环中都是不同的 _frames仅包括最后一个 positionPerFrame 的副本添加,基本上覆盖以前添加的条目。

List<string> frameData = new List<string> ();
frameData.AddRange (rawDataFile.text.Split ("\n" [0]));

_frames.Capacity = frameData.Count;

foreach (string str in frameData) {
positionPerFrame.Clear ();

//previous code with calculations omitted
positionPerFrame.Add (Vector3); // 15 times with 15 diff. vectors
_frames.Add(positionPerFrame);
}

现在,当我打印 _frames , 正好是最后一个 positionPerFrame 的 400 倍已添加,但是,当我调用设置 15 个点位置的函数时,它起作用了。

最佳答案

与其在 positionPerFrame 变量中清除和添加相同的实例,不如创建一个新实例,因为您现在一遍又一遍地重复使用相同的对象。您的 Vector3 变量可能也是如此。

foreach (string str in frameData) {
positionPerFrame = new List<Vector3>();

positionPerFrame.Add (Vector3);
_frames.Add(positionPerFrame);
}

关于c# - List<List<Vector3>> 完全重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40608561/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com