490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
|
1 | |
Применять к одному, а применяется ко всему массиву22.03.2019, 18:43. Показов 2266. Ответов 13
Метки нет (Все метки)
Привет всем, не знаю есть ли такое, но все же спрошу, к примеру есть класс MyClass в котором очень много полей, и если массив классов MyClass, могу ли я как-то применить что-то к одному, а что бы применилось во всем.
И нет, я могу пройтись циклом по всем элементам, но если полей много то нужно будет делать для каждого свой метод, а можно ли что бы применить к одному (либо передать параметром что нужно) и что бы изменилось. P.S. Возможно тут поможет predicate, но я не уверен.
0
|
22.03.2019, 18:43 | |
Ответы с готовыми решениями:
13
Текстура применяется не ко всему кубу Обращение ко всему массиву в классах Присвоение значений всему массиву Как реализовать замену по всему массиву? |
3560 / 2501 / 1174
Регистрация: 14.08.2016
Сообщений: 8,206
|
|
22.03.2019, 21:25 | 2 |
можно сделать поле статичным, тогда его изменение отразится на ВСЕХ экземплярах класса, даже если он не в массиве
ну или цикличное изменение, хоть руками, хоть LINQом
0
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
22.03.2019, 21:32 | 3 |
почему?
лучше расскажите что хотите сделать, почему такие большие классы и тд. Иначе рискуем придумать плохое решение придуманной проблемы
0
|
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
|
22.03.2019, 21:46 [ТС] | 4 |
КОП, в данный момент это не совсем решения, но как вариант вполне себе.
Есть библиотека, в ней класс, и мне нужно создать массив этих классов, и изменять значения у всех одновременно. Почему циклом не могу? Потому-что при N кол-во полей, мне нужно ровно N методов для изменения. А при N > 10 это уже костыль.
0
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
22.03.2019, 22:14 | 5 |
циклу всё равно сколько полей, это разные плоскости.
А так гадальный шар предлагает три варианта: статик поле словарик рефлексия
0
|
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
|||||||||||
22.03.2019, 22:51 [ТС] | 6 | ||||||||||
воу воу, так мне не нужно изменять прям все, иногда только первое поле, иногда второе и третье, тут уж разница будет
совсем не поняли меня, мне нужно вместо:
0
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
||||||
22.03.2019, 23:13 | 7 | |||||
Сообщение было отмечено kitsoRik как решение
Решение
я всё еще не понял о чем вы, сколько полей попросите изменить, столько и изменится. цикл лишь для прохода по всем экземплярам.
вот с примером куда понятнее. вот эта фраза воодила в заблуждение:
0
|
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
|
23.03.2019, 12:58 [ТС] | 8 |
0
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
23.03.2019, 13:44 | 9 |
не понимая исходной задачи не могу сказать, наверняка есть.
а как хотите обозначать поле? его же придется как-то выбирать. И почему это должно быть поле? у меня пока больше вопросов чем ответов
0
|
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
|
23.03.2019, 22:22 [ТС] | 10 |
либо свойство, есть еще что-то?
нужно применять сразу ко всем элементам массива, и изменять именно те поля которые нужно в коде. Но полей может быть много.
0
|
544 / 352 / 119
Регистрация: 17.08.2014
Сообщений: 1,335
|
||||||
23.03.2019, 22:45 | 11 | |||||
Сообщение было отмечено kitsoRik как решение
Решение
kitsoRik, вы городите какую то ересь.
самое простое для экземпляров класса это форич по коллекции по другому изменить можно только как вам уже сказали статическое свойство. Тестируйте
0
|
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
|
|
23.03.2019, 22:50 | 12 |
словарь, json и т.д.
вы не ответили на самое важное
0
|
544 / 352 / 119
Регистрация: 17.08.2014
Сообщений: 1,335
|
|
23.03.2019, 23:02 | 13 |
КОП, да в любом случае если это экземпляры классов то нужно проходить коллекцию. Писать свои предикаты для своей же коллекции можно сказать бессмысленно. Все давно уже сделано на основе стандартного Ilist. Многие по незнанию начинают закатывать солнце руками.
0
|
490 / 286 / 129
Регистрация: 30.10.2018
Сообщений: 1,309
|
|
23.03.2019, 23:12 [ТС] | 14 |
поле же будет обозначено как всегда, это не временный код, я хотел его использовать в будущем
0
|
23.03.2019, 23:12 | |
23.03.2019, 23:12 | |
Помогаю со студенческими работами здесь
14
Switch Case производит итерацию по всему массиву Не применять стилизацию к одному элементу Введенный с клавиатуры массив отсортировать в алфавитном порядке по всему массиву Задаю стиль одному table, но он применяется и к другому Если применять эту функцию к массиву, то он будет удаляться без всяких утечек памяти и т.п.? Обнулить строки матрицы, среднее арифметическое которых меньше среднего арифметического по всему массиву Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |