Exemple de méthode générique

Author:

Non,Edité
{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 + " ");

  }
}

Leave a Reply

Your email address will not be published. Required fields are marked *