Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C# Сформировать массив только из "уникальных" чисел Написать метод, который получает на вход массив ( в котором могут быть одинаковые числа). В результате метод должен создать новый массив в котором будет только "уникальные" числа из первого... https://www.cyberforum.ru/ csharp-beginners/ thread2220784.html C# Обойти граф (в определенном направлении)
Добрый день. Стоит задача: на введенном изображении распознать ключевые точки объекта (буквы), затем из координат ключевых точек сформировать граф. Я реализовал матрицу смежностей, граф использую...
C# Неявное преобразование типов в C# https://www.cyberforum.ru/ csharp-beginners/ thread2220731.html
Почему данная программа верна и нет ошибок, ведь тип long больше типа float. Как так можно 8 байт всунуть в 4 байта? static void Main(string args) { long a = 10; // 8 byte float b = 0; // 4...
C# Как передать данные из одного метода в другой? https://www.cyberforum.ru/ csharp-beginners/ thread2220719.html
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; ...
Куда записывать результат рекурсии? C#
добрый день , очень давно появилась проблема с непониманием рекурсий в C# . Да , допустим я сделал рекурсию для того , чтобы сделать все возможные комбинации слов из 4 букв "a","b","c","d" длинной...
C# Построить блок-схему к коду Помогите постоить блок-схему к этому коду Console.WriteLine("Введите число: "); int n = Convert.ToInt32(Console.ReadLine()); string str = ""; ... https://www.cyberforum.ru/ csharp-beginners/ thread2220664.html
C# Как занести такое в переменную? Нужно занести в переменную (типа string) "domain:" как это сделать? https://www.cyberforum.ru/ csharp-beginners/ thread2220626.html C# Сделать POST запрос к серверу (GET выдает 414 ошибку, слишком длинный URL)
Вк разрешает сделать массовый запрос информации о группах Для этого, нужно прислать список id нужных групп через запятую, максимум 500 id за раз. В связи с этим, у меня возникла проблема, сервер...
C# При нажатии на кнопку обработать событие FormClosed Здравствуйте, возможно ли чтобы при нажатии на кнопку обрабатывалось событие FormClosed? private void Park_FormClosed(object sender, FormClosedEventArgs e) { ProkatAuto... https://www.cyberforum.ru/ csharp-beginners/ thread2220500.html C# Как из строки вернуть подстроку? Как из заданной строки вернуть подстроку, если известны первый и последний символ подстроки? Дело в том, что эту подстроку нужно в дальнейшем преобразовать в целочисленное значение. https://www.cyberforum.ru/ csharp-beginners/ thread2220490.html
C# Удалить из списка элементы, информационные поля которых равны строке S
Задание : создать очередь, информационные поля которой содержат строки из файла. Удалить из списка элементы, информационные поля которых равны строке S. Возникли некоторые трудности с реализацией...
C# Визуализация Ханойской башни https://www.cyberforum.ru/ csharp-beginners/ thread2220433.html
Здравствуйте я не могу визуально красиво показать визуализацию... using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace...
Эксперт .NET
5858 / 4735 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
01.04.2018, 11:55 0

Передача значимого типа от одного List<T> другому - C# - Ответ 12268227

01.04.2018, 11:55. Показов 1136. Ответов 3
Метки (Все метки)

Ответ

Alex1988S,
Класс - ссылочный тип, а не значимый.
И естественно будут копироваться ссылки во второй лист.
Воспользуйтесь конструктором копирования.
Пример:
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
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
 
namespace ListToList
{
 
    class Program
    {
        static void Main(string[] args)
        {
            List<Item> list1 = new List<Item>();
            list1.Add(new Item("qqq", "www"));
            list1.Add(new Item("aaa", "sss"));
            list1.Add(new Item("zzz", "www"));
            list1.Add(new Item("xxx", "ggg"));
            List<Item> list2 = new List<Item>();
            foreach (Item item in list1)
                if (item.Val2 == "www")
                    list2.Add(new Item(item)); //копируем, создавая новый объект
            Console.ReadLine();
        }
    }
 
    class Item
    {
        public string Val1 { get; set; }
        public string Val2 { get; set; }
 
        public Item(string val1, string val2)
        {
            this.Val1 = val1;
            this.Val2 = val2;
        }
 
        public Item(Item sourse) //конструктор копирования
        {
            this.Val1 = sourse.Val1;
            this.Val2 = sourse.Val2;
        }
    }
}
Ну или с помощью Linq:
C#
1
list2.AddRange(list1.FindAll(x => x.Val2 == "www").Select(item => new Item(item)));


Вернуться к обсуждению:
Передача значимого типа от одного List<T> другому C#
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2018, 11:55
Готовые ответы и решения:

Как добавить элементы одного List к другому List
public class groupIndicators { public string Name { get; set; } //Наименование группы...

Передача List другому классу
using System; using System.Collections.Generic; using System.Drawing; using...

Передача файла из одного ПК к другому
Мне нужно, чтоб я мог передавать файлы через com порт на другой комп'ютер через програму, но не...

Передача свойств одного компонента другому
Добрый день. Не подскажите - вопрос такой. Есть эталонный StringGrid1 с кучей свойств -...

3
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2018, 11:55
Помогаю со студенческими работами здесь

Передача значения переменных одного класса другому
Всем привет. Нужно передать значения одного класса другому, при этом семантика методов класса...

SignalR v2: передача данных от одного пользователя другому
Нужна помощь по SignalR v2, конкретно: Передача данных от js приложения одного пользователя к js...

передача нажатой клавиши с одного компонента другому
Доброй ночи. требуется при нажатии клавиш на одном компоненте передавать нажатую клавишу другому...

Передача двумерного динамического массива от одного окна другому
Добрый день. Дело вот в чём. Не могу передать двумерный дин. массив от одного дочернего окна...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru