Comment initialiser intelligemment un tableau avec deux (ou plus) autres tableaux en C#?Concaténation de tableau en C#
double[] d1 = new double[5]; double[] d2 = new double[3]; double[] dTotal = new double[8]; // I need this to be {d1 then d2}
Une autre question: Comment puis-je concaténer C# tableaux de façon efficace?
Répondre
Vous pouvez utiliser CopyTo:
double[] d1 = new double[5];
double[] d2 = new double[3];
double[] dTotal = new double[d1.Length + d2.Length];
d1.CopyTo(dTotal, 0);
d2.CopyTo(dTotal, d1.Length);
var dTotal = d1.Concat(d2).ToArray();
Vous pourriez probablement faire « mieux » en créant dtotal d'abord, puis simplement copier les deux entrées avec Array.Copy
.
Ceci sera inefficace pour grands tableaux. – SLaks
@SLaks: C'est pourquoi j'ai ajouté le petit peu supplémentaire, mais même pour les tableaux de taille meduim (jusqu'à 10000 éléments), vous ne remarquerez probablement pas la différence. Aussi Enumerable peut fournir une option rapide pour 'Concat' si les deux sont des tableaux (il faudra regarder la source pour confirmer). Mise à jour: Il n'a pas une option rapide pour n'importe quoi. – leppie
C'est génial car cela fonctionne aussi dans les initialiseurs. – tim
Vous devez appeler Array.Copy
, comme ceci:
double[] d1 = new double[5];
double[] d2 = new double[3];
double[] dTotal = new double[d1.length + d2.length];
Array.Copy(d1, 0, dTotal, 0, d1.Length);
Array.Copy(d2, 0, dTotal, d1.Length, d2.Length);
using System.Linq;
int[] array1 = { 1, 3, 5 };
int[] array2 = { 0, 2, 4 };
// Concat array1 and array2.
var result1 = array1.Concat(array2).ToArray();
- 1. Concaténation de chaînes en C++
- 2. Concaténation de deux tableaux dans Objective-C
- 3. Chaîne concaténation dans C
- 4. C# concaténation d'image
- 5. Requête de concaténation de chaîne C++
- 6. Chemin Chaîne Concaténation Question en C#
- 7. concaténation des chaînes et snprintf en c
- 8. C# Concaténation de fichier PDF
- 9. C++ pré-processeur concaténation
- 10. C# 2-d array concaténation
- 11. Problème de chaîne de concaténation C++
- 12. Concaténation de bits en VHDL
- 13. Chaîne de concaténation en Python
- 14. Concaténation de tableaux en PHP
- 15. Concaténation des noms de variables dans C?
- 16. Question de concaténation MySQL
- 17. concaténation chaîne ne semble pas fonctionner en C#
- 18. T-SQL - - concaténation chaîne
- 19. concaténation de chaînes
- 20. Tableau de tableau en C++/CLI ou géré C++
- 21. Concaténation des chaînes NSS dans l'objectif C
- 22. Concaténation des chaînes dans les macros - C++
- 23. Tableau de chaînes en C
- 24. Tableau de tableaux en C#
- 25. en montrant concaténation mysql correcte
- 26. Concaténation de chaînes Numéro
- 27. concaténation de deux variables en une seule
- 28. concaténation de deux int en Java
- 29. Tableau groupé en C#
- 30. Chaînes de concaténation SQL?
Si vous avez des tableaux que vous devez changer ou mélanger et assortir comme celui-ci, vous devriez probablement utiliser une liste générique à la place. –
duplication possible de [Comment concaténer deux tableaux en C#?] (Http://stackoverflow.com/questions/1547252/how-do-i-concatenate-two-arrays-in-c) –