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

Привязка переменных

14.07.2013, 17:17. Показов 1011. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно глупый вопрос, однако не могу сообразить

C#
1
2
List<objectPointer> objectPrev = lightedObjects;
lightedObjects.Clear();
при очистке списка lightedObjects очищается и objectPrev. Как написать, чтобы эти две переменные не зависели друг от друга после присвоения?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.07.2013, 17:17
Ответы с готовыми решениями:

Передача значений переменных или ссылок, неконтролируемое изменение переменных
// заголовок класса ObservableCollection&lt;LineDom&gt; Method1; Method1 = new ObservableCollection&lt;LineDom&gt;(); ...

Привязка MathCAD к MS WORD. Отображение значений переменных
1.Здравствуйте, как к WS WORD 2010 привязать формулы MathCAD 15, так чтобы при изменении значений в файле MathCAD (*.xmcd), значения формул...

Angular 2, двустороняя привязка переменных между компонентами
Всем доброго времени суток. Подскажите пожалуйста как правильно связать двусторонней связью переменные из разных компонентов? как я пытался...

6
 Аватар для mrReptiloid
313 / 176 / 25
Регистрация: 30.04.2011
Сообщений: 1,469
14.07.2013, 17:27
клонировать?
0
43 / 43 / 19
Регистрация: 30.11.2011
Сообщений: 112
14.07.2013, 18:05  [ТС]
в принципе да
только я пока не знаю как это сделать
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
14.07.2013, 18:07
C#
1
2
List<objectPointer> objectPrev = new List<objectPointer>(lightedObjects);
lightedObjects.Clear();
0
43 / 43 / 19
Регистрация: 30.11.2011
Сообщений: 112
14.07.2013, 18:33  [ТС]
пробовал так. походу нет конструктора копии у List<>

Я это только что сделал
Помогло вот это:
C#
1
2
3
4
5
6
7
8
9
10
11
private static object DeepClone(object obj) {
            if(obj == null) { return null; }
            object result = null;
            using(MemoryStream ms = new MemoryStream()) {
                BinaryFormatter bf = new BinaryFormatter();
                bf.Serialize(ms, obj);
                ms.Position = 0;
                result = bf.Deserialize(ms);
            }
            return result;
        }
0
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
14.07.2013, 19:23
Цитата Сообщение от k0z@k Посмотреть сообщение
пробовал так. походу нет конструктора копии у List<>

Я это только что сделал
Помогло вот это:
C#
1
2
3
4
5
6
7
8
9
10
11
private static object DeepClone(object obj) {
            if(obj == null) { return null; }
            object result = null;
            using(MemoryStream ms = new MemoryStream()) {
                BinaryFormatter bf = new BinaryFormatter();
                bf.Serialize(ms, obj);
                ms.Position = 0;
                result = bf.Deserialize(ms);
            }
            return result;
        }

Не по теме:

Сурово. Я ещё представлял себе извращение с foreach, но сериализовать...


А чем Вас не устроил вариант kolorotur?
1
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
14.07.2013, 22:03
phantom96, а что такого, у меня был подобный вариант, правда поумнее:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
    public static class Cloner
    {
        public static T Clone<T>(this T obj)
        {
            if (!obj.IsSerializable())
                throw new ArgumentException("Object is not serializable");
            var b = new BinaryFormatter();
            byte[] buffer;
            using (var stream = new MemoryStream())
            {
                b.Serialize(stream, obj);
                buffer = stream.GetBuffer();
            }
 
            T result;
            using (var stream = new MemoryStream(buffer))
                result = (T)b.Deserialize(stream);
            return result;
        }
 
        public static bool IsSerializable<T>(this T obj)
        {
            Type type = obj.GetType();
            return type.Attributes.HasFlag(TypeAttributes.Serializable) || obj is ISerializable;
        }
    }
k0z@k, для вас:
C#
1
2
List<objectPointer> objectPrev = lightedObjects.ToList();
lightedObjects.Clear();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.07.2013, 22:03
Помогаю со студенческими работами здесь

[WPF] Привязка свойств контролов к значениям локальных переменных
Имеется List, в котором, допустим, по индексу 0 содержится булевое значение, определяющее должен ли быть checkbox ischecked (true) или...

Что это жесткая привязка к точке входа, физическое смещение в файле, окрестность точки входа в файл, привязка?
Что это жесткая привязка к точке входа, физическое смещение в файле, окрестность точки входа в файл, привязка к смещению сигнатуры...

Привязка сертификата в IIS 8.5 по Host name и привязка по Host name с SNI
В чем разница между привязкой сертификата в IIS 8.5 по Host name и привязкой по Host name с включенным Require Server Name Indication?

Исправить в программном коде рандомное задание переменных, на ввод переменных пользователем
Помогите пожалуйста замеить в программе задание чисел рандомно, на задание вручную. Тобиш чтобы был запрос &quot;введите координаты...

Поменять местами значения целых переменных х и у не используя дополнительных переменных
Знаю, что это очень простая задача, но никак не могу сделать, пожалуйста помогите!!! Поменять местами значения целых переменных х и у не...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru