如何在C#中将浮点数组转换为字节数组?

时间:2019-09-29 10:32:27

标签: c# arrays unity3d

我想将浮点数组转换为字节数组,以通过套接字将其发送到python脚本。 (我正在Unity引擎中执行此操作)。

我尝试过:

float[] myArray = {0.0f, 0.0f, 0.0f};

int len = myArray.Length;
byte[] bytes = new byte[len];
int x = 0;

foreach(float f in bytes){
  byte[] t = System.BitConverter.GetBytes(f);
  for(int y = 0; y<4); y++){
    bytes[y + x] = t[y];
    x += 4;
  }
}

输出为:

  

Assets \ PlayerScript.cs(106,27):错误CS1002 :;预期的

     

Assets \ PlayerScript.cs(106,33):错误CS1002 :;预期的

     

Assets \ PlayerScript.cs(106,33):错误CS1513:}预期

我不习惯使用c#,无法使其正常工作... 我还查看了其他一些stackoverflow代码,但这并没有真正的帮助。

1 个答案:

答案 0 :(得分:1)

尝试以下操作:

           float[] myArray = {0.0f, 0.0f, 0.0f};

           int len = myArray.Length;
           List<byte> bytes = new List<byte>();

           foreach (float f in myArray)
           {
               byte[] t = System.BitConverter.GetBytes(f);
               bytes.AddRange(t);
           }
           byte[] byteArray = bytes.ToArray();