gpt4 book ai didi

c# - 为什么我的值会级联到列表中的所有其他索引中?

转载 作者:行者123 更新时间:2023-11-30 21:06:55 25 4
gpt4 key购买 nike

还有一个我不太确定的 C# 问题。我知道问题出在哪里,但不明白为什么会发生。

我正在使用 List.Add();满足特定条件时添加 int[] 的方法。我发现当循环结束并且我应该包含所有值时,所有值在每个索引中都是相同的。

在调试过程中,我发现它正确地添加了第一个,但是当添加第二个时,它覆盖了第一个,但也添加了第二个。我以前从未见过 List.Add() 会发生这种情况,但也许是因为这次我要存储 int[] 对象?

这是将其全部添加进去的代码。对我来说看起来无害,但这可能是我缺乏知识的地方:

NumbersForTriples[0] = (int)Math.Sqrt(a);
NumbersForTriples[1] = (int)Math.Sqrt(b);
NumbersForTriples[2] = (int)Math.Sqrt(c);
Triples.Add(NumbersForTriples);

最佳答案

我认为您只初始化了 NumbersForTriplets 一次。您应该在每个序列语句计算平方根并将数组添加到列表之前执行 NumbersForTriplets = new int[3] ,否则您将一次又一次地覆盖内存的相同部分并添加相同的多次指向您的列表。

关于c# - 为什么我的值会级联到列表中的所有其他索引中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10827867/

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