Aller au contenu

Les Generics


Wolfae

Messages recommandés

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

Non mudera, potius mori quam foedari.

 

Connaissances : C#, VB.net, JavaScript, PHP

Libre service.

Lien vers le commentaire
  • Réponses 0
  • Created
  • Dernière réponse

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


  • Flux d'Activité

    1. 5

      Metin2 Download - Migration

    2. 0

      C++ Wiki Ingame

    3. 38

      Installer Ancestra Remake 54

    4. 2

      Ajouter une Commande Lau

    5. 2

      Ajouter une Commande Lau

    6. 2

      Ajouter une Commande Lau

    7. 38

      Installer Ancestra Remake 54

    8. 5

      Metin2 Download - Migration

    9. 3

      L'E3 2021, on en parle !

  • En ligne récemment

    Aucun utilisateur enregistré regarde cette page.

×
×
  • Créer...

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.