using System; public class MethodeGenerique { public static bool copieInsert<T>(T elem, int index, T[] src, T[] cible) { if(cible.Length < src.Length+1) return false; for(int i=0, j=0; i < src.Length; i++, j++) { if(i == index) { cible[j] = elem; j++; } cible[j] = src[i]; } return true; } } class ExempleUtilisation { public static void Main() { // utilisation du 'Generic' avec le type 'int' int[] tab1 = { 10, 20, 30, 40, 50 }; int[] tab2 = new int[6]; Console.Write("Contenu initial de tab1: "); foreach(int elem in tab1) Console.Write(elem + " "); Console.WriteLine(); // Insertion de tab1 dans tab2 avec un nombre à l'index 3 de la table MethodeGenerique.copieInsert(1984, 3, tab1, tab2); Console.Write("Contenu initial de tab2: "); foreach(int elem in tab2) Console.Write(elem + " "); Console.WriteLine(); // utilisation du 'Generic' avec le type 'string' string[] tabStr = { "Utilisation", "de","Générique", "en", "C#"}; string[] tabStr2 = new string[6]; Console.Write("Les élément du tableau tabStr: "); foreach(string elem in tabStr) Console.Write(elem + " "); Console.WriteLine(); // Copier les éléments de 'tabStr1' vers 'tabStr2' MethodeGenerique.copieInsert("Avec MesExemples.com", 0, tabStr, tabStr2); Console.Write("Contenu de tabStr2 après la copie: "); foreach(string elem in tabStr2) Console.Write(elem + " "); } } |
0