¿Cómo puedo copiar una parte de una matriz a otra matriz?
Considera que estoy teniendo
int[] a = {1,2,3,4,5};
Ahora, si doy el índice de inicio y el índice final de la matriz a
, debería copiarse a otra matriz.
Al igual que si doy el índice de inicio como 1 y el índice final como 3, los elementos 2, 3, 4 deberían copiarse en la nueva matriz.
Ver esta pregunta . LINQ Take () y Skip () son las respuestas más populares, así como Array.CopyTo ().
Aquí se describe un método de extensión supuestamente más rápido .
fuente
Donde Array es una clase que tiene el método Copy, que copia el elemento de una matriz en una matriz b.
Al copiar de una matriz a otra matriz, debe proporcionar el mismo tipo de datos a otra matriz de la que está copiando.
fuente
Nota: Encontré esta pregunta buscando uno de los pasos en la respuesta sobre cómo cambiar el tamaño una matriz existente.
Entonces pensé que agregaría esa información aquí, en caso de que alguien más estuviera buscando cómo hacer una copia a distancia como una respuesta parcial a la pregunta de cambiar el tamaño de una matriz.
Para cualquier otra persona que encuentre esta pregunta buscando lo mismo que yo, es muy simple:
donde T es el tipo, es decir, donde se declara arrayVariable:
Ese método maneja las comprobaciones nulas, así como newSize == oldSize que no tiene ningún efecto y, por supuesto, maneja en silencio el caso en que una de las matrices es más larga que la otra.
Vea el artículo de MSDN para más información.
fuente
En caso de que quiera implementar su propio método Array.Copy .
Método estático que es de tipo genérico.
Implementación del método límite.
fuente