强制数组为值类型或解决方法C#

时间:2016-09-14 15:35:25

标签: c# c++ arrays reference

我遇到了一个有趣的问题。所以我知道C#中的数组是引用类型。我发现我实际上需要它像一个值类型。我有一个C ++队列,我从一个带有byte []参数的C#应用​​程序中提取数据。拉取的数据存储在该变量中,然后我将该byte []数组附加到List。由于数组是C#中的引用,因此列表中的每个项都取代上次提取数据的值。我的第一个想法是在每次数据拉动时做一个“新”,但这听起来代价高昂且编程实践不好。我缺少一种解决方法吗?

1 个答案:

答案 0 :(得分:0)

如果你想拥有几个不同的数组,正确的方法是简单地创建多个数组,而不是在你想拥有多个数组时重新使用单个数组。

要创建一个具有语义的类型,只要将其分配给另一个变量就可以复制其全部数据,这甚至不会为您节省创建多个数组的工作量,因为复制时仍然会这样做它们。