2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
1 | |
Можно ли создать список содержащий элементы типа string?02.12.2020, 19:13. Показов 993. Ответов 18
Метки нет (Все метки)
0
|
02.12.2020, 19:13 | |
Ответы с готовыми решениями:
18
Создать класс вектор, содержащий элементы типа long double, размерность вектора Создать список, содержащий элементы общие для двух списков Посмотрите объявление вектора и попытайтесь создать динамический массив, содержащий элементы типа char создать односвязный список на Си, содержащий элементы 12, 93,301. Удалить из этого списка 93. |
1 / 1 / 0
Регистрация: 09.05.2020
Сообщений: 60
|
||||||
02.12.2020, 19:17 | 2 | |||||
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
02.12.2020, 19:22 [ТС] | 3 |
Gagarin23, Почему плохая практика?
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
02.12.2020, 19:46 [ТС] | 4 |
Gagarin23, Вот он что выдает на эту строку. Я так вроде пробовал
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
02.12.2020, 19:52 [ТС] | 5 |
А всё понял в чём проблема
Добавлено через 2 минуты Gagarin23, Просто я создаю множество экземпляров классов и помещаю их в массив. И мне нужно чтобы list не занулялся постоянно. И поэтому я не нашёл ничего умнее как просто сделать список статичным, насколько мне известно статические переменные постоянны и не зависит от экземпляров класса.
0
|
Модератор
|
|
02.12.2020, 19:58 | 6 |
Не хватает юсинга.
Слева вверху возле всплывшего сообщения видите маленький квадрат с жёлтым кружком и стрелкой вниз. Это "Быстрые решения". Кликаете на них. Выйдет подсказка с нужным юсингом. Добавлено через 57 секунд Ккая-то абра-катабра... Совершено не понял чего вы там создаёте.
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
||||||
02.12.2020, 20:08 [ТС] | 7 | |||||
Элд Хасп, Да спасибо, я загуглил уже.
Добавлено через 10 минут Элд Хасп, Такс попробую сформулировать как человек. Попробую на примере объяснить. Имеется следующий код.
0
|
Модератор
|
|
02.12.2020, 20:25 | 8 |
Нет, не правильно.
Есть члены экземпляра и члены объекта. Члены объекта объявляются как статические. Они создаются в единственном числе. И для обращения к ним надо указать только тип в котором они объявлены. Члены экземпляра создают отдельно для каждого экземпляра. И для обращения к ним надо обращаться через созданный экземпляр. В вашем коде, у типа Voin есть метод экземпляра ChangePrikaz изменяющий в статическом поле список Pynkt. Этот список один для всего приложения. И его может изменить любой желающий. Поэтому все солдаты работают с одниv списком. И даже больше, все экземпляры воина тоже будут менять этот единственный список. Если вы у поля уберёте модификатор static, то это поле станет членом экземпляра. Оно будет создаваться для каждого экземпляра. И каждый воин будет иметь свой независящий от других воинов список Pynkt. Ещё пара замечаний: - Публичные поля это атавизм ранних версий C#. В современном C# поля используются только приватные. Для публичных значений надо создавать свойства. - Соблюдайте Правила именованияю В данном коде - имена должны быть осмысленными английскими выражениями, сочетаниями слов. - так же полено будет прочитать Рекомендации по программированию Net
1
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
02.12.2020, 20:31 [ТС] | 9 |
Элд Хасп, Ну я вроде это и имел ввиду всё то, что вы написали, только на своём "обезьяньем". Я и добивался такой цели, чтобы все экземпляры воина работали с одним Pynkt. И по этой же причине, я и хочу создать static список, чтобы также все экземпляры воина записывали данные только в один список.
0
|
Модератор
|
|||||||||||
02.12.2020, 21:24 | 10 | ||||||||||
Тогда логичнее сделать метод ChangePrikaz тоже статическим.
А список сделать свойством "только для чтения".
Для примера:
И вы можете создать несколько отрядов у каждого из которых будет свой приказ.
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
||||||
03.12.2020, 14:08 [ТС] | 11 | |||||
Элд Хасп, Добрый день. А есть ли возможность передать массив объектов в статический метод? Просто не хочется постоянно писать цикл for, а то их слишком много у меня получается в main.
0
|
Модератор
|
||||||
03.12.2020, 15:05 | 12 | |||||
Конечно.
Но обычно параметр метода типизируется нужным интерфейсом:
В зависимости от логики метода задаёте разный интерфейс. Допустим:
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
03.12.2020, 16:37 [ТС] | 13 |
Элд Хасп, Можно ли в эту тему скинуть итоговый код того, что я нарешал или нужно отдельную тему создать? И Вы дадите свою оценку по коду, совсем плохо или терпимо.
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
||||||
03.12.2020, 16:45 [ТС] | 15 | |||||
Элд Хасп, Сильно не бейте ток). Я помню, что вы писали про наименование переменных, но пока не могу полностью от привычки транслита отойти. И по поводу, что поля нужно делать приватными тоже помню, но когда они приватные, я не мог ими оперировать в методе VxodVPunkt() , а как передать их не придумал.
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
03.12.2020, 17:43 [ТС] | 17 |
Элд Хасп, Ну не считая public полей и наименований, в остальном более менее терпимо?
0
|
Модератор
|
|
03.12.2020, 17:58 | 18 |
Я же не могу оценить логику.
Поэтому могу написать только о внешних признаках. О static членах вам писали. Статическими могут быть только методы. Вместо статического класса PynktSvz вам надо создать экземпляр этого класса и работать с ним. Но вы не захотели так делать. Мне не нравится передача массива в метод. Допустим, в методе VxodVPunkt(Voin soldier, string[] runk) вы только находите индекс элемента.Для этого лучше передавать IList: VxodVPunkt(Voin soldier, IList<string> runk) .И проверять методом IndexOf(). Но в данном случае, даже сам этот массив со строками неоднозначен. Вы там храните звания. Звания - это постоянный список. Для него лучше всего подойдёт перечисление. И сравнивайте их потом по значению как целые числа. goto - тоже вызывает большие сомнения. Я не пишу, что его запрещено использовать, но использовать его можно только ограниченно, в действительно необходимых случаях. И то когда метка находится в пределах 5-10 строк от оператора. В данном же случае его использование совершено не нужно. Здесь должен быть цикл.
0
|
2 / 2 / 0
Регистрация: 26.05.2020
Сообщений: 331
|
|
03.12.2020, 18:05 [ТС] | 19 |
Элд Хасп, Окей, спасибо огромное за помощь
0
|
03.12.2020, 18:05 | |
03.12.2020, 18:05 | |
Помогаю со студенческими работами здесь
19
Для данного списка L создать список L1, содержащий те же элементы, но в обратном порядке Cписок: Создать список, содержащий элементы общие для двух двунаправленных списков Создать список, содержащий элементы общие для двух списков, с помошью классов Создать двусвязный список, содержащий целые числа. Удалить все максимальные элементы Создать файл записного типа, содержащий информацию об учениках Фамилия, Имя, Отчество, Пол, Дата рождения, Курс. Распечатать список учеников, фамилии Создать двусвязный список целых чисел типа кольцо. Выбрать все простые числа и поместить их в односвязный список типа оч Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |