gpt4 book ai didi

c# - C# 中的 "Dereference"变量

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

我在 C# 中有一些代码使用这样的结构:

ArrayList addrs = new ArrayList();
byte[] addr = new byte[8];
while (oneWire.Search_GetNextDevice(addr))
{
addrs.Add(addr);
}

在这个例子中,ArrayList 中的每个元素都与找到的最后一个设备相同,因为它看起来好像 addr 是通过引用传递出去的,我我只是将该引用复制到 ArrayList 中。

有什么方法可以“取消引用”addr 以仅提取它的值吗?

也有可能我对情况的评估不正确,如果是这种情况,请告诉我

谢谢!

最佳答案

如果 addr 是一个类变量(而不是结构),它会计算出来。

在那种情况下,Search_GetNextDevice() 将一遍又一遍地填充同一个实例。

你也许可以用类似的东西来解决它

byte[] addr = new byte[8];
while (oneWire.Search_GetNextDevice(addr))
{
addrs.Add(addr);
addr = new byte[8];
}

更新了 byte[] 信息

关于c# - C# 中的 "Dereference"变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4701364/

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