Jump to content
La fin ?! Elle est là ! ×
×
×
  • Create New...

Les Generics


Wolfae
 Share

Recommended Posts

Niveau requis Intermédiaire

Temps estimé : 30 minutes

Bonjour,

 

Je voudrais expliquer le fonctionnement du namespace System.Collections.Generic.

 

Révélation

 

Vous vous rappelez sûrement de :

List - Dictionary
Etc... ; Eh bien, aujourd'hui, c'est de ça que nous allons parler, et j'indiquerai de même comment créer une classe qui utilise ces 'paramètres' correctement. Bref ! Commençons. Tout d'abord :
//TestGenerics.cs

using System.Collections.Generic;

namespace Tests
{
   class TestGenerics
   {
      private string[] ArrayString = { "Uh", "Ne", "Me", "Te" };
      private int[] ArrayInt = { 6, 15, 34, 26 };
      private double[] ArrayDouble = { 6.0, 15.0, 34.0, 26.0 };

      //Dans la méthode suivante, les deux arrays doivent avoir le même
      //Length.
      static void SwapArrays(ref E[] swap, ref E[] swap2)
      {
         E[swap.Length] temp;
         Array.Copy(swap, 0, temp, 0, swap.Length);
         Array.Copy(swap2, 0, swap, 0, swap2.Length);
         Array.Copy(temp, 0, swap2, 0, temp.Length);
      }
   }
}
Ici, on peut remarquer l'utilisation de E/E[] assez souvent. Bien, en fait, SwapArrays est une 'Generic Method' (Méthode générique). C'est-à-dire, une méthode qui contient un : Dans ces méthodes, on spécifie un type. Donc, on pourra instancier des variables de type NAME (Ici, E / E[]). Assez utile si on veut créer une méthode comme j'ai fait, qui copie la valeur d'un array à l'autre, et de l'autre au premier. (; (Un swap, quoi) Nous pouvons faire de même pour les classes :
using System.Collections.Generic;

namespace TestGenerics
{
   public class AdvancedArray
   {
      private T[] TArray;

      public void Add(T toadd)
      {
          TArray[TArray.GetUpperBound(0)] = toadd;
      }

      public void RemoveAt(int index)
      {
          List Temp = new List(TArray);
          Temp.RemoveAt(index);
          TArray = Temp.ToArray();
      }
   }
}
Avec, j'ai créé une petite classe qui a une méthode de plus, qui normalement ne se trouve QUE dans les listes et pas les arrays. (; Ce n'était qu'un exemple bien sûr ! Bref, j'espère que vous aurez compris l'utilité et comment cela fonctionne. Conclusion de ce mini-tutoriel : Le generic est une fonctionnalité très intéressante et puissante du .Net Framework, qui aide pas mal !

 

 

 

Cordialement,

Heaven Team 2012

Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

 Share



Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.