|
8 / 7 / 2
Регистрация: 08.12.2020
Сообщений: 118
|
|||||||||||
Как достать объект из двумерного List?17.11.2021, 18:09. Показов 1618. Ответов 13
Метки нет (Все метки)
Добрый вечер, подскажите, как достать для сравнения объект из двумерного List
Вот, как объявлял этот list (он заполняется рандомными числами в конструкторе класса)
0
|
|||||||||||
| 17.11.2021, 18:09 | |
|
Ответы с готовыми решениями:
13
Как достать объект из пула? |
|
2639 / 1567 / 853
Регистрация: 23.02.2019
Сообщений: 3,876
|
|
| 17.11.2021, 20:56 | |
|
0
|
|
|
Модератор
|
||
| 17.11.2021, 21:35 | ||
|
Обращается ещё и к Value. Думаю, ТС дал просто пример заполнения. Для конкретики нужен полный текст ошибки. Может нулевой массив, выход за границы или неверное приведение типов? Может быть что угодно.
0
|
||
|
|
||
| 17.11.2021, 21:40 | ||
|
Они же толком не изучая основ лезут в игры...
1
|
||
|
8 / 7 / 2
Регистрация: 08.12.2020
Сообщений: 118
|
||||||
| 19.11.2021, 12:28 [ТС] | ||||||
|
wizard41, Элд Хасп, никакого отношения к unity и играм я увы не имею.
У меня было конкретное задание - я его реализовал на плюсах, теперь то же самое делаю на шарпе, но так как я далеко не опытный пользователь этого языка могу допускать ошибки. Название листов разное, потому что его заполнение идет в конструкторе, после чего происходит присвоение листа num_c листу num (уже как public переменной List) (сделал я так, потому что такое задание, но то, что не полностью показал код вам - моя ошибка.) Ошибка следующая: Кликните здесь для просмотра всего текста
System.ArgumentOutOfRangeException: Индекс за пределами диапазона. Индекс должен быть положительным числом, а его размер не должен превышать размер коллекции. Имя параметра: index в System.ThrowHelper.ThrowArgumentOutOfRan geException(ExceptionArgument argument, ExceptionResource resource) в System.Collections.Generic.List`1.get_It em(Int32 index) в task.Program.Game1() в C:\Users\ASUS\Desktop\task\task\Program. cs:строка 109 Вот полностью код: Кликните здесь для просмотра всего текста
Если я что-то сделал не так, то, пожалуйста, подскажите
0
|
||||||
|
|
|||||||||||
| 19.11.2021, 13:14 | |||||||||||
Сообщение было отмечено colomb как решение
Решение
colomb, ошибка вам как бы намекает, что вы вылезли за пределы листа. Т.е. N оказался больше размерности массива. Проверяйте N выше по коду, где и какое ему присвается значение.
Добавлено через 34 минуты Кликните здесь для просмотра всего текста
if ( k == N / 3 ) не очень понял это условие победы..
2
|
|||||||||||
|
8 / 7 / 2
Регистрация: 08.12.2020
Сообщений: 118
|
|
| 19.11.2021, 13:55 [ТС] | |
|
wizard41, должно быть if ( k == N*N / 3 )
Спасибо большое за помощь
0
|
|
|
|
||
| 19.11.2021, 14:24 | ||
|
try/catch обычно используют там, где заранее нельзя на что-то повлиять, например при открытии файла, которого может не оказаться... Здесь же вы полностью контролируете ситуацию, и в случае если пользователь ввел некорректное значение, то лучше отправить его на второй круг и пусть вводит снова, а не выбрасывать исключение.
1
|
||
|
8 / 7 / 2
Регистрация: 08.12.2020
Сообщений: 118
|
|
| 20.11.2021, 13:43 [ТС] | |
|
wizard41, не спорю, я так и делал предыдущие программы, но сейчас мы изучаем исключения, поэтому нужно было их сюда вставить. У меня для них даже отдельный класс написан)
0
|
|
|
Модератор
|
||||||||||||
| 20.11.2021, 15:51 | ||||||||||||
|
В чём смысл исключения? Сообщить о том, что что произошла какая-то ситуация не позволяющая продолжить выполнение кода. И вот теперь такой момент: кто и кому сообщает? У вас отправитель и получатель исключения реализованы одновременно в одном и том же коде. В такой реализации - это полная беcсмыслица. Фактически, вы просто, использую исключения, эмулируете обычный if-else. Так же ОЧЕНЬ плохая практика это Environment.Exit(0);.Это следует использовать ТОЛЬКО для аварийного выхода из приложения, когда дальнейшее выполнение приложения в принципе невозможно. Для нормального завершения приложения, или для аварийного, но когда можно продолжить выполнение кода, надо "подыматься" по методам вверх и выходить там же где была и точка входа - в данном случае это метод Main. Что бы это имело хоть какой-то смысл нужно делать примерно такую реализацию:
0
|
||||||||||||
|
8 / 7 / 2
Регистрация: 08.12.2020
Сообщений: 118
|
|
| 20.11.2021, 17:52 [ТС] | |
|
Элд Хасп, опять же не спорю.
Задача состояла в создании собственного исключения и записи его в список ошибок, который будет выведен после завершения программы. Использовал я Environment.Exit(0); потому что подумал, что это аналогия функции exit(0) из плюсов. Больше так не буду) В шарпе разбираюсь очень посредственно, вот что вытекает из этого.
0
|
|
|
Модератор
|
|||
| 20.11.2021, 18:45 | |||
|
Но выкидывание исключения и его отлов не должны быть сразу в одном месте кода. Смысл исключения это его "всплытие" по стеку. Поэтому ловить его надо в вызывающем методе, а не в том где оно выкидывается. Вот в моём примере, в методе Main() в блоке catch (Exception ex), анализируйте исключение в переменной ex и делайте то, что вам нужно: запись в лог, экстренный выход из приложения, запрос повтора ввода и т.д.Но Плюсы - это не ООП. В ООО есть определённая иерархия объектов и методов, есть сильное структурное разделение функционала между ними. Один из принципов SOLID: Single responsibility — принцип единственной ответственности.Какая функция (структурная) возложена на Restart_Game?Это метод UI запрашивающий у пользователя какой-то ввод. А какое отношение ввод пользователя имеет к выходу из приложения? Никакого. Решение об анализе ввода должен принимать код который вызвал метод Restart_Game.
0
|
|||
| 20.11.2021, 18:45 | |
|
Помогаю со студенческими работами здесь
14
Как достать указатель на объект из контейнера set
Как достать объект определенного класса через Object Как достать объект xml, в котором содержится ключевое слово Как достать(использовать) объект, который находится в объекте массива? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|