Задать вопрос
@Shinkero
Trader, Investor, C# student

Как изменить значения объекта из списка, если список его содержит?

Имеется список, состоящий из объектов.
class Program
{
    List<Item> items = new List<Item>;
    items.Add(new Item(){ItemName = "Ball", ItemID = 10, ItemCost = 3})
    items.Add(new Item(){ItemName = "Toy", ItemID = 14, ItemCost = 15})
}

Класс объектов:
public class Item
{
    public string ItemName { get; set;}
    public int ItemID { get; set; }
    public double ItemCost { get; set;}
}


Требуется проверить на наличие в этом списке объекта с указанным string (поиск по имени), и, если этот элемент присутствует - изменить его ItemID и ItemCost.
Каким образом я могу это реализовать?
Спасибо большое!

p.s.: Пример здесь сделан очень примитивный. В реальности значения ItemID и ItemCost будут изменяться очень часто, а сам список будет содержать огромное кол-во объектов.
  • Вопрос задан
  • 124 просмотра
Подписаться 1 Простой Комментировать
Решение пользователя freeExec К ответам на вопрос (3)
freeExec
@freeExec
Участник OpenStreetMap
Если будет частый поиск по имени, то нужно складывать их не в коллекции, а словари.
new Dictionary<string, Item>().Add(item.ItemName, item);


Если всё же хочешь из списка, то подключаешь System.Linq
items.FirstOrDefault(i => i.ItemName == "Toy");
Ответ написан