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

本文关键字:解决 方法 类型 数组 | 更新日期: 2023-09-27 18:07:04

我遇到了一个有趣的问题。我知道c#中的数组是引用类型。我发现我实际上需要它表现得像一个值类型。我有一个c++队列,我从一个c#应用程序中提取数据,有一个byte[]参数。提取的数据存储在该变量中,然后将该byte[]数组附加到List中。由于数组在c#中是引用,所以列表中的每一项的值都是最后提取的数据的值。我的第一个想法是对每个数据提取做一个"新",但这听起来成本很高,而且是糟糕的编程实践。有没有我遗漏的变通办法?

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

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

创建一个类型,当你把它赋值给另一个变量时,你复制它的全部数据,这甚至不会节省你创建多个数组的努力,因为当你复制它们时,你仍然会这样做。