Мне нужно преобразовать int в массив байтов в Micro Framework, чтобы его можно было передавать в последовательный порт. Это происходит в чувствительной ко времени области кода, где задержка, вызванная сборщиком мусора, может занять слишком много времени.Листинг int для массива char без воздействия на кучу
Как правило, я передавал int в строку и оттуда в массив символов. Но это создает объект кучи, который рискует сбором мусора.
Есть ли эффективный способ сделать это? Я могу сделать это в цикле, который использует арифметику по модулю 10, но это будет медленным. В C я использовал sprintf для преобразования в предварительно выделенный массив, что было бы хорошо.
Должен ли я предположить, что 'int' преобразован в' string' какой-то магией, которая не включает медленную * modulo 10 арифметику *? – PetSerAl
Сколько там разных ints? Если есть всего несколько общих значений, вы можете выделить все это. Поддержание 'Dic'. –
usr
@PetSerAl: modulo 10 арифметики в C# на MF _way_ медленнее, чем по модулю 10 арифметики в собственном коде. – blearyeye