Вы можете использовать LINQ
, чтобы получить нужный объект:
ABC newobj = a.Where(abc => abc.ID == 100).FirstOrDefault();
, который возвращает null
, если нет соответствующего идентификатора.
Как подсказал @Xanatos, вы также можете использовать эту более аккуратную версию:
ABC newobj = a.FirstOrDefault(abc => abc.ID == 100);
Как предположил @Jon, может быть лучше использовать Dictionary<int, ABC>
для хранения ваших экземпляров ABC. Он обеспечивает лучшую производительность, чем всегда итерация Collection
для поиска подходящего идентификатора. Но тогда ключ должен быть уникальным, вы не можете добавить два ABC
экземпляра с одинаковым идентификатором:
var a = new Dictionary<int, ABC>();
a.Add(100, new ABC(100, "First"));
a.Add(101, new ABC(101, "Second"));
a.Add(102, new ABC(102, "Third"));
Вы бы получили к нему доступ таким образом:
ABC newobj = a[100];