Digg StumbleUpon LinkedIn YouTube Flickr Facebook Twitter RSS Reset

Exemple de méthode générique

Non,Edité
{filelink=17482}

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 + " ");
 
  }
}

No comments yet.

Leave a Comment