Как преобразовать массив с плавающей точкой в ​​байтовый массив в C #? - PullRequest
0 голосов
/ 29 сентября 2019

Я хочу преобразовать массив с плавающей точкой в ​​байтовый массив, чтобы отправить его через сокет в скрипт 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 Ответ

1 голос
/ 29 сентября 2019

Попробуйте следующее:

           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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...