С# способ добавить значение в список <T> по индексу

Можно ли добавить значение по определенному индексу? Я пытаюсь сделать индексатор, и у меня есть списки. Есть ли какой-либо трюк, чтобы сделать это в этом контексте: 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

Ответ 1

List<T>.Insert, возможно?

Но я бы предположил, что вы, вероятно, просто хотите получить/написать - не вставлять:

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

Обратите внимание, что с С# 3 существуют более простые способы записи этих свойств: btw:

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

Кроме того, не всегда хорошая идея фактически публиковать написанные коллекции напрямую - это означает, что вы не можете контролировать, что происходит в этих коллекциях.

Ответ 2

Метод .Insert() на List<T> предназначен именно для этой цели:

someList.Insert(2, someValue);

Это изменит коллекцию someList, чтобы вставить someValue в индекс 2, нажав другие значения на один индекс.

Подробнее здесь.

Ответ 3

Можете ли вы использовать List.Insert?

Ответ 4

Попробуйте использовать List.Insert

Это должно решить проблему, с которой вы сталкиваетесь.

Ответ 5

Возможно, вы ищете что-то более похожее на словарь или карту. Это типы коллекций, которые позволяют назначать объект, используя пары ключ-значение, поэтому вы всегда можете назначить объект в определенной позиции и извлечь его из той же позиции. Вы можете подумать, что вам нужен список, потому что вы не знаете, сколько записей вы будете хранить, но если у вас есть представление о максимальном количестве записей, это поможет вам решить, можете ли вы использовать что-то вроде словаря. Я думаю, что предел довольно высокий, но вы можете посмотреть на класс Dictionary, чтобы увидеть ограничения.