TyGerX TyGerX - 1 month ago 11
C# Question

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

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

List<T>.Insert, perhaps?

But I'd suggest you probably just want to fetch/write - not insert:

public Multime<T> this[int index]
{
    get { return Multisets[index]; }
    set { Multisets[index] = value; }
}

Note that as of C# 3, there are simpler ways of writing those properties, btw:

public List<T> Multimea { get; set; }
public List<Multime<T>> Multisets { get; set; }

It's also not generally a good idea to actually expose composed collections directly - it means you have no control over what happens in those collections.

Comments