Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223

Оптимизация кода, метод Contains

24.10.2018, 21:29. Показов 3761. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго времени суток!
Допустим есть класс
C#
1
2
3
4
5
6
7
8
9
10
public class A
{
public int Id {get;set;}
public string Description {get;set;}
public A (int id, string description)
{
Id = id;
Description = description;
}
}
Есть коллекция экземпляров данного класса
C#
1
2
3
4
List<A> listA = new List<A>();
listA.Add(1, "A");
listA.Add(2, "B");
listA.Add(3, "С");
У меня есть значение Id, я хочу проверить - входит ли экземпляр с таким Id в указанную коллекцию.
Я делаю так:
C#
1
2
3
4
5
6
7
List<int> IDlist = new List<int>();
for (int i=0; i<listA.count; i++)
{
IDlist.Add(listA[i].Id);
}
 
if (IDlist.Contains(2)) {}
Может есть какой-то способ упростить этот код? Не создавать вспомогательную коллекцию List<int> IDlist?

Добавлено через 2 минуты
Реальный пример чуть сложнее, хочу понять принцип.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.10.2018, 21:29
Ответы с готовыми решениями:

Оптимизация кода
Здравствуйте. Имею такую задачу: проходиться по коллекции файлов, и проводить фильтр по определённым условиям. Причём условия формируются...

Оптимизация кода
Есть кусок кода: public static void NOCH (object source, ElapsedEventArgs e) { try { ...

Оптимизация кода
Помогите пожалуйста get-ер оптимизировать. Уже оптимизировал как мог для максимально быстрого получения обьекта, но все ровно не достаточно...

26
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10428 / 5158 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
27.10.2018, 08:14
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от wrq2017 Посмотреть сообщение
Доступно с версии 4.7.2. Надо обновляться
Обновляться нужно не вам, а вашим клиентам. И версия с которой вы работаете зависит от степени апгрейда компьютров клиентов, а не ваших желаний. Я бы не спешил обновляться на супер-пупер новую версию. Ну если конечно у вас нет желания потом мотаться по всему миру и устанавливать 4.7.2 под XP на древний пентиум.
0
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
27.10.2018, 21:49  [ТС]
Цитата Сообщение от Storm23 Посмотреть сообщение
Обновляться нужно не вам, а вашим клиентам. И версия с которой вы работаете зависит от степени апгрейда компьютров клиентов, а не ваших желаний. Я бы не спешил обновляться на супер-пупер новую версию. Ну если конечно у вас нет желания потом мотаться по всему миру и устанавливать 4.7.2 под XP на древний пентиум.
В общем случае согласен. Но когда мы говорим про частности, правильно ли я понимаю, что новая версия .NET Framework разработчика не обязательно будет требовать новую версию .Net Core на компьютере пользователя?

Добавлено через 1 минуту
Собственно, метод ToHashSet() - это про второе.
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10428 / 5158 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
27.10.2018, 21:57
Цитата Сообщение от wrq2017 Посмотреть сообщение
Но когда мы говорим про частности, правильно ли я понимаю, что новая версия .NET Framework разработчика не обязательно будет требовать новую версию .Net Core на компьютере пользователя?
Я не очень понял про что вы. Но если вы компилируете проект под 4.7.2 то это означает, что на компьютере пользователя должна быть установлена версия фреймворка не ниже 4.7.2.
Насчет .Net Core - не в курсе, почти не работал с ним.
1
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
27.10.2018, 22:01  [ТС]
Я спрашиваю Короче говоря, для корректной работы приложения версия фреймворка пользователя должна быть не ниже версии фреймворка разработчика, так?
0
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10428 / 5158 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
27.10.2018, 23:55
Цитата Сообщение от wrq2017 Посмотреть сообщение
для корректной работы приложения версия фреймворка пользователя должна быть не ниже версии фреймворка разработчика, так?
Я не понимаю что такое "версия фреймворка разработчика". В настройках проекта вы указываете версию фреймворка под который вы компилируете ваш проект. Так вот версия фреймворка у пользователя не должна быть ниже этой версии.
Если же вы имеете ввиду версию фреймворка, которая установлена на вашей машине, то это не имеет значения.
1
3 / 3 / 2
Регистрация: 30.07.2017
Сообщений: 223
28.10.2018, 15:38  [ТС]
Storm23, да, спасибо, именно это я и имел ввиду.
0
309 / 221 / 74
Регистрация: 23.05.2011
Сообщений: 981
28.10.2018, 16:39
Цитата Сообщение от wrq2017 Посмотреть сообщение
новую версию .Net Core на компьютере пользователя?
Если Вы делаете проект под .Net Core, делаете его не под 4.7.2. И при сборке проекта .Net Core, вы распространяете .Net Core вместе с проектом, так что тут не о чем беспокоиться.

Можете писать вот так:
C#
1
ICollection<int> condition = new HashSet<int>(listA.Select(x=>x.Id));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.10.2018, 16:39

Оптимизация кода
Консольное приложение. Писалось на VS 2010 с использованием .NET Framework 4. Вроде более-менее оптимизировал, но все равно генерация...

Оптимизация кода
Есть такая статья http://habrahabr.ru/post/165729/. Но в ней перечислена лишь малая часть возможных оптмизаций. Где можно посомтреть все...

Оптимизация кода
Можно ли это как то оптимизировать? public void Vn_Method(int a,ref Button btn1, ref Button btn2, ref Button btn3, ref Button btn4) ...

Оптимизация кода
Доброго времени суток. Прошу прощения, если буду ошибаться в терминах, но постараюсь правильно разъяснить проблему. Пишу приложение...

Оптимизация кода в C#
Подскажите книгу пожалуйста,по оптимизации кодов C# если такие имеют место быть!!! Пишу избыточные коды ((( хотелось бы писать более...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru