Как скопировать список в новый список или получить список по значению в С#

Я заметил, что в С# есть метод для списков: CopyTo → , который копирует в массивы, есть ли лучший способ скопировать в новый список? проблема в том, что я хочу получить список по значению, чтобы иметь возможность удалять элементы перед их отображением, я не хочу, чтобы исходный список был изменен, что тоже не кажется легко доступным, любые идеи?

Ответы

Ответ 1

List<MyType> copy = new List<MyType>(original);

Ответ 2

Я хочу получить список по значению, чтобы иметь возможность удалять элементы перед их отображением,

var newlist = oldList.Where(<specify condition here>).ToList();

Ответ 3

Просто создайте новый List и используйте соответствующий конструктор:

IList<Obj> newList = new List<Obj>(oldList);

Ответ 4

Я думаю, это сработает. Передача списка конструктору нового списка.

    List<string> list1 = new List<string>();
    List<string> list2 = new List<string>(list1);

Ответ 5

Вы пробовали Cloning (Clone()) каждый элемент и добавляли клон в новую коллекцию?

Ответ 6

Если вы используете .NET 3.5, результирующий массив может вызвать ToList().