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

Из списка объектов получить список значений свойств, имя которых (не значение) совпадают с искомой строкой

18.05.2023, 00:48. Показов 362. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пусть есть класс:
C#
1
2
3
4
5
6
        class Point
        {
            public double X { get; set; }
            public double Y { get; set; }
            ...
         }
И список объектов
C#
1
List<Point> points = new List<Point>();
Например, нужно получить список значений всех свойств X. Как это сделать красиво?
Если искомое свойство X, то можно сделать поиск в цикле:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
                List<string> targetValues = new List<string>();
                string targetProperty = "X";
 
                foreach (var point in points)
                {
                    if (targetProperty == "X")
                    {
                        targetValues.Add(point.X);
                    }
                    else if (targetProperty == "Y")
                    {
                        targetValues.Add(point.Y);
                    }
                    ...
                }
Но таких свойств может быть много, и плодить конструкции if else как-то не то..
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2023, 00:48
Ответы с готовыми решениями:

Отобразить список тех объектов, координаты которых совпадают
Есть таблица, в которой содержатся данные по адресным объектам. В этой таблице указаны координаты адресных объектов. Цель:...

Найти элементы списка, значения которых не совпадают с номерами их позиций. например: список 1,2,3,98,5,6,78 - результат кода: 98, 78
помогите с кодом, пожалуйста.

Дан массив объектов. Подсчитать количество объектов в массиве, у которых совпадают значения двух полей.
Написать функцию, которая принимает на вход массив объектов. Каждый объект имеет два поля: x и y. Функция должна вернуть количество всех...

2
Эксперт JS
 Аватар для DrType
6553 / 3624 / 1075
Регистрация: 07.09.2019
Сообщений: 5,877
Записей в блоге: 1
18.05.2023, 01:31
Лучший ответ Сообщение было отмечено SetAres как решение

Решение

Вроде как можно сделать так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 List < Point > points = new List < Point > ();
 points.Add(new Point(1));
 string targetProperty = "X";
 List < double > targetValues = points.ConvertAll < double > (point => (double) point.GetType().GetProperty(targetProperty).GetValue(point));
 Console.WriteLine(String.Join(", ", targetValues));
 
 class Point {
   public double X {
     get;
     set;
   }
   public double Y {
     get;
     set;
   }
   public Point(double x) {
     X = x;
   }
 }
1
1 / 1 / 0
Регистрация: 17.12.2017
Сообщений: 120
18.05.2023, 03:21  [ТС]
Спасибо большое! То, что нужно)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.05.2023, 03:21
Помогаю со студенческими работами здесь

Получение значений свойств объектов класса в векторе этих объектов
У меня есть вектор TImageb и мне нужно получить значения Tag каждого объекта этого вектора делаю так td::vector&lt;TMyImage*&gt;...

Описать функцию, подсчитывающую количество строк-элементов списка, которые совпадают с последней строкой
2) используйте линейные списки для хранения последовательности строк. опишите функцию, подсчитывающую количество строк-элементов списка,...

Удалить из первого списка элементы, информационные поля которых совпадают с полями элементов второго списка
Напишите процедуру, выполняющую следующие действия: удалить из первого списка элементы, информационные поля которых совпадают с...

Класс List. Из списка структур получить список значений одного поля
например, есть структура struct UserInfo { public string Name; public string Familie; } существует список ...

На основе списка, содержащего любое количество цифр от 1 до 9, получить список из их двоичных значений
На основе списка, содержащего любое количество цифр от 1 до 9, получить список из их двоичных значений. Помогите пожалуйста


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru