Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
20 / 19 / 1
Регистрация: 13.08.2012
Сообщений: 779
.NET 4.x

Копирование обобщенных коллекци

11.03.2015, 17:35. Показов 746. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как правильно копировать обобщенные коллекции ? Например:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    class SimpleClass
    {
        public int Number;
 
        public SimpleClass(int number)
        {
            Number = number;
        }
    }
//*************************
List<SimpleClass> a = new List<SimpleClass>();
            for (int i = 0; i < 10; i++)
                a.Add(new SimpleClass(i));
 
            List<SimpleClass> b = new List<SimpleClass>(a);
 
            b[0].Number = -10;
В данном случае у коллекции "a" 0-ой элемент тоже будет -10. А как скопировать коллекцию так что бы изменение "b" не влияло на "а" ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2015, 17:35
Ответы с готовыми решениями:

коллекци
народ хелп возникла проблема: public Tree(IEnumerable&lt;KeyValuePair&lt;char, int&gt;&gt; counts) { var priorityQueue...

Сравнение обобщенных переменных
Доброго времени суток форумчане. Есть класс: public class A&lt;T&gt; { public T Inside { get; set; } /// &lt;summary&gt; ///...

Контрвариация обобщенных интерфейсов
Насколько я понимаю, если определен контрвариационный обобщенный интерфейс, то метод, чей параметр помечен как in, должен принимать либо...

1
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
11.03.2015, 17:51
Цитата Сообщение от NEvOl Посмотреть сообщение
как скопировать коллекцию
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
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication4 {
    class Program {
        static void Main(string[] args) {
            List<Test> listA = new List<Test>();
            listA.AddRange(Enumerable.Range(0, 10).Select(item => new Test(item)).ToArray());
 
            List<Test> listB = new List<Test>(listA.Select(item => (Test)item.Clone()));
            Console.WriteLine(listA[0].Number);
            Console.WriteLine(listB[0].Number);
 
            listB[0].Number = 10;
 
            Console.WriteLine(listA[0].Number);
            Console.WriteLine(listB[0].Number);
            Console.ReadLine();
        }
    }
    class Test :ICloneable {
        public int Number;
        public Test(int num) {
            Number = num;
        }
 
        public object Clone() {
            return new Test(this.Number);
        }
    }
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.03.2015, 17:51
Помогаю со студенческими работами здесь

Обобщенные типы в обобщенных коллекциях
Делаю векторный редактор. Надо реализовать в нем панель свойств. Хочу сделать ее на основе редакторов типов, чтобы когда выделяется фигура,...

Арифметические действия в обобщенных классах
Здравствуйте! Нужен пример, как ограничить обобщенный тип для написания универсального класса так, чтобы можно было выполнять действия...

Создать два обобщенных класса
1. Создайте консольное приложение. В нем создайте два обобщенных класса: один – с одним параметром, который будет выводить ваше имя, второй...

Ковариантность и контравариантность обобщенных интерфейсов
Добрый вечер, скажите, кто-то может пояснить ПРАКТИЧЕСКУЮ цель ковариантности и контравариантности в обобщенных интерфейсах? Как...

Доделать с использованием обобщенных классов
Эта программа при вводе радиуса, высчитывает площадь и объем сферы. Необходимо ее доработать, тоесть сделать ее с использованием...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
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