Bonjour tout le monde,

je voudrais créer une fonction qui va me permettre de traiter les clés d'une Dictionary, quelque soit le type de valeur qu'elle prennent,

mais mon problème c'est ce que je ne sais pas comment m'y prendre,

voici la fonction que j'ai créé et que je voudrais améliorer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
/// <summary>
/// Ajust une liste en décalant toute la liste à partir du begin avec le pas decalage
/// </summary>
/// <param name="list">La liste à décaler</param>
/// <param name="decelage">Le pas de décalage</param>
/// <param name="begin">Emplacement duquel on va entamer le décalage</param>
public void adjustList(Dictionary<Int64, int> listToAdjust, int decelage, Int64 begin)
{
    if (listToAdjust.Count != 0)
    {
        Dictionary<Int64, int> liste = new Dictionary<Int64, int>();
 
        // récuperation des couples à décaler
        foreach (KeyValuePair<Int64, int> couple in listToAdjust)
        {
            if (couple.Key >= begin)
                liste.Add(couple.Key, couple.Value);
        }
 
        if (liste.Count != 0)
        {
            // suppression des inserts qui devront être décalés
            foreach (KeyValuePair<Int64, int> couple in liste)
                listToAdjust.Remove(couple.Key);
 
            // ajout des inserts précedement supprimés avec le décalage souhaité
            foreach (KeyValuePair<Int64, int> couple in liste)
                listToAdjust.Add(couple.Key + decelage, couple.Value);
        }
    }
}
et mon problème exact c'est que je voudrais utiliser la même méthode pour un Dictionary<Int64, int[]> , sachant que la fonction ne touche qu'aux clés.

Merci d'avance pour votre aide
Bien cordialement