Я создал класс инвентаризации, но я не знаю, как извлечь из него информацию. Я знаю, как перебирать его в цикле foreach и отображать все элементы, но я не знаю, как увидеть, находится ли YoYo там, и если да, напечатайте имя, стоимость и количество на ярлыке. Кто-нибудь может помочь?Класс инвентаря
ответ
Я надеюсь, что вы собираетесь дальше класс Inventory и создание класса Product. Объектно-ориентированные языки касаются инкапсуляции и скрытия информации. Вставьте вывод продукта в метод для этого объекта. Клиенты могут просто назвать это так, вместо того, чтобы повторять его повсюду.
Я бы также рекомендовал метод поиска в вашем классе Inventory, который позволяет искать экземпляр продукта. Возможно, вы захотите выполнить поиск по имени, но как насчет стоимости, категории или производителя? Возможно, вы захотите продлить его позже.
Я согласен с рекомендацией словаря Marc, но я бы посоветовал вам сделать частную реализацию Inventory. Вы добавляете дополнительный бит абстракции, который делает Inventory чем-то большим, чем простой словарь.
Я думаю, что строки и структуры данных прекрасны, но слишком часто эти примитивы попадают в код, когда их прячут в объекте, для клиентов гораздо лучше. Это то, что я считаю хорошим объектно-ориентированным дизайном.
Поскольку вы упомянули foreach
, похоже, что он реализует IEnumerable<T>
. В этом случае, если вы используете C# 3.0/LINQ, что-то вроде:
var yoyo = inventory.FirstOrDefault(item => item.Name == "YoYo");
if(yoyo != null) { // found it
Console.WriteLine(yoyo.Cost); // etc
}
Вы также можете посмотреть на словари, если у вас есть много данных ...
- 1. Макет компоновки системы инвентаря
- 2. Обновление инвентаря
- 3. Короткое кодирование инвентаря
- 4. Удаление потерянных предметов инвентаря
- 5. Сохранение инвентаря игрока
- 6. Netsuite (Детали инвентаря)
- 7. Обнаружение сетки инвентаря
- 8. инвентаризация инвентаря Доступ
- 9. Уточнить обновление инвентаря продукта
- 10. Netsuite - Ошибка переноса инвентаря
- 11. Дизайн базы данных инвентаря
- 12. Пакетное программирование инвентаря
- 13. Задача обновления инвентаря
- 14. Магазин инвентаря игрока
- 15. Получить баланс инвентаря
- 16. ibm wcs удаление «Без инвентаря»
- 17. Реальный инвентарь против финансового инвентаря
- 18. Сбор инвентаря из материалов формы
- 19. Ansible-pull без ограничений инвентаря
- 20. Извлечение пользовательской позиции из инвентаря
- 21. Электронная торговля Автоматические обновления инвентаря
- 22. Инкремент инвентаря <button>
- 23. Продвижение инвентаря/Структура таблицы скидок
- 24. Bukkit удалить предмет из инвентаря
- 25. Загрузка/загрузка инвентаря из Amazon
- 26. Добавить поиск инвентаря на панель
- 27. Базовая установка инвентаря с доступом
- 28. Архитектура инвентаря в базе данных
- 29. Расчет стоимости инвентаря в SQL
- 30. Добавить элемент в стек инвентаря
Некоторый код был бы хорош. Пока мы не узнаем, как выглядит ваш класс Inventory, мы мало что можем сделать. –