В С#, если у меня есть List<T>
, и у меня есть объект типа T
, как я могу заменить определенный элемент в List<T>
на объект типа T
?
Вот что я пробовал:
List<CustomListItem> customListItems = new List<CustomListItem>();
CustomListItem customListItem1 = new CustomListItem() { name = "Item 1", date = DateTime.MinValue};
CustomListItem customListItem2 = new CustomListItem() { name = "Item 2", date = DateTime.MinValue };
CustomListItem customListItem3 = new CustomListItem() { name = "Item 3", date = DateTime.MinValue };
customListItems.Add(customListItem1);
customListItems.Add(customListItem2);
customListItems.Add(customListItem3);
CustomListItem newCustomListItem = new CustomListItem() { name = "Item 4", date = DateTime.Now };
customListItem2 = customListItems.Where(i=> i.name == "Item 2").First();
customListItem2 = newCustomListItem;
В приведенном выше коде я хочу заменить customListItem2
на newCustomListItem
.
Нужно ли удалить элемент в списке, а затем вставить новый элемент? Могу ли я сделать простое назначение customListItem2 = newCustomListItem
?
Каков наиболее эффективный способ замены элемента в списке другим элементом?
Заранее спасибо