Como copiar uma parte de uma matriz para outra matriz?
Considere que estou tendo
int[] a = {1,2,3,4,5};
Agora, se eu der o índice inicial e final da matriz, a
ele deve ser copiado para outra matriz.
Como se eu der o índice inicial como 1 e o índice final como 3, os elementos 2, 3, 4 devem ser copiados na nova matriz.
Veja esta pergunta . LINQ Take () e Skip () são as respostas mais populares, assim como Array.CopyTo ().
Um método de extensão supostamente mais rápido é descrito aqui .
fonte
Onde Array é uma classe com o método Copy, que copia o elemento de uma matriz para b.
Ao copiar de uma matriz para outra, é necessário fornecer o mesmo tipo de dados para outra matriz da qual você está copiando.
fonte
Nota: Encontrei esta pergunta procurando uma das etapas na resposta para como redimensionar uma matriz existente.
Por isso, pensei em adicionar essas informações aqui, caso mais alguém estivesse procurando como fazer uma cópia à distância como resposta parcial à questão de redimensionar uma matriz.
Para quem encontrar essa pergunta procurando a mesma coisa que eu, é muito simples:
onde T é o tipo, ou seja, onde arrayVariable é declarado:
Esse método lida com verificações nulas, assim como newSize == oldSize sem efeito e, é claro, lida silenciosamente o caso em que uma das matrizes é mais longa que a outra.
Veja o artigo do MSDN para mais informações.
fonte
Caso você queira implementar seu próprio método Array.Copy .
Método estático, que é do tipo genérico.
Implementação do método de fronteira.
fonte