C# 将float[]数组添加到列表<;浮动[]>;并在不丢失列表内容的情况下清除数组的内容

C# 将float[]数组添加到列表<;浮动[]>;并在不丢失列表内容的情况下清除数组的内容,c#,C#,在C#中,如何将float[]数组()的内容复制到列表中,以便在清除float[]数组时,不会触及列表的内容(即副本)? 所附图片中提供了一些脚本,其中: 有21个点的值从0开始增加0.5,以10结束 该点值的上限为32位二进制文件提供后缀。例如,当点值为0.5或1时,将在计算中使用二进制文件“File1.bin”,而对于点值1.5和2,将使用二进制文件“File2.bin”,以此类推 当读取为32位二进制值时,每个文件都是一个32位浮点二进制文件,具有固定数量的元素 我想检查所有点(在f

在C#中,如何将float[]数组()的内容复制到列表中,以便在清除float[]数组时,不会触及列表的内容(即副本)? 所附图片中提供了一些脚本,其中:

  • 有21个点的值从0开始增加0.5,以10结束

  • 该点值的上限为32位二进制文件提供后缀。例如,当点值为0.5或1时,将在计算中使用二进制文件“File1.bin”,而对于点值1.5和2,将使用二进制文件“File2.bin”,以此类推

  • 当读取为32位二进制值时,每个文件都是一个32位浮点二进制文件,具有固定数量的元素

  • 我想检查所有点(在for循环中),如果我没有读取该点的二进制文件,请读取该文件的内容并将其保存在列表中。由于文件被读入float[]数组(“脚本中的oneFile”变量),因此我的增量列表是list(脚本中的变量“allFiles”)

  • 在for循环中的每个迭代结束时,我希望清除数组“oneFile”的内容,并在将来的迭代中读入它。但是,这显然也会清除“所有文件”的内容。我怎样才能避免这种情况


  • 与其清除数组,只将数组中的元素范围设置为每个元素类型的默认值,不如将
    oneFile
    设置为数组的新实例,这样它就不再引用我们刚才添加到
    allFiles
    的同一实例

    换句话说,

    • 替换:
      Array.Clear(oneFile,0,oneFile.Length)
      
      • (这只是将所有项目分配给
        0
    • 使用:
      oneFile=newfloat[FileSizeBytes/4]
      
      • (这将更改对新数组的引用,该数组中填充了初始化为
        0
        )的项)

    list.Add(array.ToArray())
    我们在
    ToArray()
    的帮助下创建初始
    数组的副本,然后
    将该副本添加到
    列表中
    请发布您的代码,而不是屏幕截图。不要清除
    float[]
    ,将其设置为
    float[]
    的新实例(因此它不是指您添加到列表中的同一个实例)。