
{filelink=17482}
using System;
public class MethodeGenerique
{
public static bool copieInsert(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 + " ");
}
}