Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

430
Vistas
C# conversión in situ de la matriz `int[]` a la matriz `byte[]`

Tengo una matriz de algún tipo ( short[] , int[] o un tipo base similar). Quiero enviarlo a través de una secuencia, así que necesito que sea byte[] . La solución estándar parece ser crear una nueva matriz byte[] y usar BitConverter . El problema con este enfoque es el rendimiento y el uso de la memoria: requiere asignar toda la memoria nueva, copiarla en la nueva memoria y luego escribir el byte[] en la transmisión.

Tengo muchas ganas de usar la memoria de respaldo original de la matriz int[] como una matriz byte[] para poder enviarla en el lugar. Estoy dispuesto a hacer cumplir el requisito de que el sistema de envío y recepción debe tener el mismo endianness, por el bien de esta diferencia de rendimiento muy obvia y muy significativa.

¿Hay alguna forma de tratar una matriz de int[] o similar, como un byte[] en el lugar?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si puede usar Span<T> (.net core 3+):

 void Send(int[] data) { ReadOnlySpan<byte> byteRef = MemoryMarshal.AsBytes(data.AsSpan()); _stream.Write(byteRef); }
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda