У меня есть некоторые данные в потоке, который на самом деле в формате uint. System.IO.Stream позволяет только считывать содержимое в байтовый массив, но я не хочу читать байты, а затем преобразовывать их в массив uint с 1/4 длины байтового массива. Я хочу прочитать его прямо в память массива uint, чтобы сэкономить время.
Если это неуправляемый C ++, это так просто. Просто отправьте указатель на массив uint, и все будет сделано. Но в C # это не так просто. Я пытаюсь создать байтовый массив с тем же адресом памяти, что и другой массив uint, а затем отправить байтовый массив в качестве параметра Stream.Read (), чтобы при записи Stream.Read () в байтовый массив содержимое в массиве uint. Но я посмотрел на класс Маршалла и до сих пор не нашел решения этой проблемы. Есть идеи?