Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 04.02.2023
Сообщений: 5

Как изменить значение (int) внутри упаковки (boxing)?

04.02.2023, 23:49. Показов 578. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Object - это ссылка на какую либо переменную, но как изменить саму переменную, адрес которой мы имеем?
Например:
C#
1
2
3
4
int a = 0; // параметр, который необходимо изменить от ссылки
object link = a; // ссылка
 
link.value = 5; // без доступа к параметру, необходимо его изменить
PS: В System.Reflection object не имеет полей - так изменить не получится
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.02.2023, 23:49
Ответы с готовыми решениями:

Как изменить внешнюю переменную типа int внутри функций?
Предположим есть переменная для хранения чисел типа int. Хотелось бы изменять её внутри функций и затем использовать её в основном модуле....

Даны переменные int x=1; int y=0; Определите, внутри какого оператора if выражение принимает значение "истина"?
1. if(!x||y&&x) 2. нет верного ответа 3. if(x==y) 4. if(x&&y||y) 5. if((x||y)&&x)

Как изменить элемент в Dictionary<int,int>?
Мне нужно изменить Value в одном из элементов библиотеки. Вот фрагмент кода. char azbuka; Dictionary&lt;int,...

5
fly
 Аватар для I can
4943 / 4626 / 843
Регистрация: 13.04.2015
Сообщений: 9,804
05.02.2023, 00:20
Цитата Сообщение от RelaxV Посмотреть сообщение
int
Это значимый тип.

Добавлено через 6 минут
C#
1
2
3
4
5
     int[] a =new int[1]; // параметр, который необходимо изменить от ссылки
 
            var  link = a; // ссылка
 
            link[0]  = 5; // без доступа к параметру, необходимо его изменить
a[0] будет равно 5
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
05.02.2023, 00:23
Цитата Сообщение от RelaxV Посмотреть сообщение
но как изменить саму переменную, адрес которой мы имеем?
Прежде чем думать "КАК", объясните "ЗАЧЕМ"?

Сами подумайте, раз такое понадобилось ТОЛЬКО ВАМ, то возможно вы неправильно подошли к решению вашей задачи?
0
fly
 Аватар для I can
4943 / 4626 / 843
Регистрация: 13.04.2015
Сообщений: 9,804
05.02.2023, 00:25

Не по теме:

Цитата Сообщение от Элд Хасп Посмотреть сообщение
Прежде чем думать "КАК", объясните "ЗАЧЕМ"?
Действительно

0
0 / 0 / 0
Регистрация: 04.02.2023
Сообщений: 5
05.02.2023, 03:11  [ТС]
I can, Элд Хасп,
Для реализации класса действия (-> Redo&Undo) создаю наиболее общий такой класс в котором:
C#
1
2
3
4
5
List<object> values // ссылки на параметры нескольких объектов
List<object> nvals// новые значения параметров этих объектов
List<object> lvals// старые значения параметров этих объектов
 
void Redo() { for (i) values[i].value = nvals[i];
Добавлено через 17 минут
Решение у меня есть -> все параметры сделать отдельным классом
C#
1
class Undefine { public object v; }
который я и буду использовать для изменения (Undefine.v) вместо object. Только потом переменными пользоваться будет не удобно, да и вопрос получения object.value довольно простой, но как будто неизведанный...
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16140 / 11264 / 2888
Регистрация: 21.04.2018
Сообщений: 33,109
Записей в блоге: 2
05.02.2023, 11:02
Лучший ответ Сообщение было отмечено RelaxV как решение

Решение

Цитата Сообщение от RelaxV Посмотреть сообщение
Только потом переменными пользоваться будет не удобно, да и вопрос получения object.value довольно простой
Получить его-то просто. Для этого нужно сделать просто распаковку. А вот изменить нельзя.
Упаковка-преобразование и распаковка-преобразование (Руководство по программированию на C#)

Цитата Сообщение от RelaxV Посмотреть сообщение
создаю наиболее общий такой класс в котором:
Этой информации мало для того чтобы понять вашу задачу в целом.
Обычно параметр это не только значение, но ещё и его имя и тип.

Цитата Сообщение от RelaxV Посмотреть сообщение
Решение у меня есть -> все параметры сделать отдельным классом
Это неплохое решение.
Сомнение только вызывает использование типа object для параметра.

Цитата Сообщение от RelaxV Посмотреть сообщение
Только потом переменными пользоваться будет не удобно
Почему?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2023, 11:02
Помогаю со студенческими работами здесь

Изменить значение внутри тега label
Внутри тега label есть текст. Его надо поменять по атрибуту for. Возможно это как либо сделать ,подскажите пожалуйста. А то что то билься...

Не удалось изменить возвращаемое значение для List<T>.this[int]
listStructSelected.byteStatus = getStatus(); Ошибка: Ошибка 25 Не удалось изменить возвращаемое значение для...

imagecopyresized(resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY, int dstW, int dstH, int srcW, int srcH)?
Обясните пожалуйста как пользоватся этой функцик imagecopyresized(resource dst_im, resource src_im, int dstX, int dstY, int srcX, int srcY,...

Dictionary<int, int> получить наибольшее значение value (втрого int)
Dictionary&lt;int, int&gt; bet = new Dictionary&lt;int, int&gt;; bet.Add(1,20); bet.Add(2,50); int i = // сюда нужно записать большее значение...

Как изменить int в json
Каким способом лучше представить int в json формате @RequestMapping(value = &quot;/markers/{id}/getinfo&quot;, method = RequestMethod.GET,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 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-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru