Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для Strangerinla
10 / 10 / 15
Регистрация: 24.05.2014
Сообщений: 84

Скопировтаь элементы списка в другой так, чтобы при их модификации в одном, они не менялись во втором

17.06.2015, 16:37. Показов 748. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Столкнулся с проблемой, причина которой кроется, как я понял в ссылочных типах данных в c#.
Из файла загружаются данные в List L1. Дальше при нажатии кнопки на форме данные из L1 должны скопироваться в List L2 (типы одинаковые). Далее с данными в L2 происходят некоторые операции. Вопрос: как сделать чтобы в L1 при этом ничего не менялось?

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
static void Main(string[] args)
        {
            List<cl1> L1 = new List<cl1>();
            List<cl1> L2 = new List<cl1>();
            L1.Add(new cl1("1"));
            L1.Add(new cl1("2"));
            
            L2 = L1;  //далее из-за ссылок будет изменяться и L1.
 
            L2[0].s = "4";
 
            foreach (cl1 item in L1)
            {
                Console.WriteLine(item.s); // вывод: 4, 2. (вместо 1, 2)
            }
            Console.ReadLine();
        }
        class cl1
        {
            public string s;
            public cl1(string ss)
            {
                s = ss;
            }
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.06.2015, 16:37
Ответы с готовыми решениями:

Удалить элемент из типизированного списка, так, чтобы индексы остальных не менялись
Удалить элемент из типизированного списка, так, чтобы индексы остальных не менялись. List&lt;double&gt; sort = new List&lt;double&gt;();

Отсортировать элементы матрицы так, чтобы при прохождении по схеме, они были бы упорядочены по не убыванию
Дано натуральное N (1&lt;=N&lt;=10), целочисленный квадратный массив-матрица (aij), 0&lt;= i ,j &lt;N. Отсортировать элементы матрицы так, чтобы при...

Как сделать так чтобы при смене даты менялись и данные
Есть база данных. Там данные. В одной ячейке написана дата. Как сделать так чтобы при смене даты менялись и данные.

2
141 / 117 / 26
Регистрация: 07.12.2014
Сообщений: 371
17.06.2015, 16:48
C#
1
L2 = L1.Select(cl => new cl1(cl.s)).ToList()
1
 Аватар для Strangerinla
10 / 10 / 15
Регистрация: 24.05.2014
Сообщений: 84
17.06.2015, 17:35  [ТС]
Vigelforts, благодарю за ответ. Именно то что мне нужно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.06.2015, 17:35
Помогаю со студенческими работами здесь

Как сделать так чтобы при выборе значения в списке менялись данные в таблице ?
Есть проблема: имеется список выбора select и таблица Как сделать так чтобы при выборе значения в списке менялись данные в таблице,...

Переставить элементы первого списка, чтобы сначала шли элементы, которые встречаются во втором списке
1) переставить елементы 1го списка таким образом, что бы сначала шли те элементы, что встречаются во втором списке, а дальше те, что не...

Как сделать так чтобы при спавне предметов они отталкивались друг от друга если они спавнятся близко С#
Есть загвоздка, не как не могу понять как это релизовать, приведу пример : происходит спавн кубов рандомно, и некоторые могу быть дуг на...

не могу сделать так, чтобы при изменении пункта в договоре ссылки на него в дальнейшем тексте автоматически менялись
Добрый день! Помогите пожалуйста, если кто может, решить задачку: есть документ Word (договор) - как сделать так, чтобы при изменении...

Из созданного текста получить два новых текста так, чтобы в одном были четные слова, во втором - нечетные
Из созданного текста получить два новых текста так, чтобы в одном были четные слова, во втором - нечетные. После слова оставался свой...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru