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

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

24.10.2018, 21:29. Показов 3748. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru