C# way to add value in a List<T> at index

TyGerX picture TyGerX · Apr 23, 2012 · Viewed 67.8k times · Source

Is there any way you can add a value at a specific index? I try to do indexator and I have Lists. Is there any trick for making this this in this context :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

Answer

David picture David · Apr 23, 2012

The .Insert() method on List<T> is exactly for this purpose:

someList.Insert(2, someValue);

This would modify the someList collection to insert someValue at index 2, pushing other values up one index.

More information here.