Trong C#, nếu tôi có List<T>
và tôi có đối tượng thuộc loại T
, làm cách nào để thay thế một mục cụ thể trong List<T>
bằng đối tượng loại T
?Thay thế đối tượng trong danh sách đối tượng
Dưới đây là những gì tôi đã cố gắng:
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;
Trong đoạn mã trên, tôi muốn thay thế customListItem2
với newCustomListItem
.
Tôi có phải xóa mục trong danh sách và sau đó chèn mục mới không? Tôi không thể thực hiện một bài tập đơn giản là customListItem2 = newCustomListItem
?
Cách hiệu quả nhất để thay thế một mục trong danh sách bằng một mục khác là gì?
Cảm ơn trước
Bạn đã kiểm tra http: // stackoverflow. com/questions/17188966/how-to-replace-list-item-in-best-way? – haim770
Bổ sung vào các giải pháp đã được đăng, bạn cũng nên triển khai Equals/GetHashCode cho loại tùy chỉnh của mình, nếu không hoạt động ở đâu/chỉ mục của bạn có thể không tìm được phần tử phù hợp. – HimBromBeere