Использовать битовое смещение:
return (ushort)((memory[address + 1] << 8) + memory[address]);
Вы можете использовать класс BitConverter , но имейте в виду, что есть статическое поле только для чтения с именем IsLittleEndian , которое необходимо проверить перед его использованием. Если он уже имеет значение порядка байтов, то вы можете использовать этот класс, но если для него задано неправильное значение, вы не сможете его изменить.
В качестве альтернативы вы можете взглянуть на библиотеку MiscUtil Джона Скита, которая включает в себя класс EndianBitConverter, который позволяет вам указывать порядок байтов.