Existe-t-il un moyen d'ajouter une valeur à un index spécifique? J'essaie de faire de l'indexateur et j'ai des listes. Y at-il une astuce pour faire cela dans ce contexte: D
public class Multime<T>
{
private List<Multime<T>> multiSets;
private List<T> multimea;
***public Multime<T> this[int index]
{
get { return this.Multisets.ElementAt(index); }
set { this.Multisets.CopyTo(value,index); }
}***
public List<Multime<T>> Multisets
{
get { return this.multiSets; }
set { this.multiSets = value; }
}//accesori Multimea de multimi
public List<T> Multimea
{
get { return this.multimea; }
set { this.multimea = value; }
}//Accesori Multime
List<T>.Insert
, peut-être?
Mais je suggérerais que vous vouliez probablement juste chercher/écrire - ne pas insérer:
public Multime<T> this[int index]
{
get { return Multisets[index]; }
set { Multisets[index] = value; }
}
Notez qu'en C # 3, il existe des moyens plus simples d'écrire ces propriétés, en passant:
public List<T> Multimea { get; set; }
public List<Multime<T>> Multisets { get; set; }
Il n’est généralement pas judicieux d’exposer directement les collections composées, cela signifie que vous n’avez aucun contrôle sur ce qui se passe dans ces collections.
La méthode .Insert()
sur List<T>
est exactement conçue pour cela:
someList.Insert(2, someValue);
Cela modifierait la collection someList
pour insérer someValue
à index 2
, en augmentant les valeurs d'un index.
Plus d'informations ici .
Essayez d'utiliser List.Insert
Cela devrait résoudre le problème que vous rencontrez.
Pouvez-vous utiliser List.Insert ?