Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
1

Изменение свойства объекста в списке объектов

12.12.2013, 13:07. Показов 3185. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
class MyClass
{
    public int Id { get; set; }
    public int Price { get; set; }
 
    public MyClass(int _id, int _price)
    {
        Id = _id;
        Price = _price;
    }
    //...
}
Есть список объектов этого класса:
C#
1
2
3
4
List<MyClass> mc = new List<MyClass>();
mc.Add(new MyClass(1, 56));
mc.Add(new MyClass(2, 74));
mc.Add(new MyClass(3, 43));
Задача: Найти объект со свойством Id = 2, и изменить его свойство Price с 74 на 65.
Реализовал вот так:
C#
1
2
for (int i = 0; i < mc.Count(); i++)
    if (mc[i].Id == 2) mc[i].Price = 65;
Вопрос: есть ли более интересный способ решить данную задачу, что-бы меньше места занимало?

Вот весь пример:
Кликните здесь для просмотра всего текста
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
    class Program
    {
        static void Main(string[] args)
        {
            List<MyClass> mc = new List<MyClass>();
            mc.Add(new MyClass(1, 56));
            mc.Add(new MyClass(2, 74));
            mc.Add(new MyClass(3, 43));
            
            //Изменить свойство Price объекста с Id=2
            for (int i = 0; i < mc.Count(); i++)
                if (mc[i].Id == 2) mc[i].Price = 65;
        }
    }
 
    class MyClass
    {
        public int Id { get; set; }
        public int Price { get; set; }
 
        public MyClass(int _id, int _price)
        {
            Id = _id;
            Price = _price;
        }
        public MyClass() { }
    }
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.12.2013, 13:07
Ответы с готовыми решениями:

Групповое изменение свойства объектов?
Здравствуйте! Возникла следующая необходимость: Для группы объектов, например TextBox,...

Изменение свойства объектов на форме из dll
у меня такая проблемка,..как изменять свойства обьектов на форме из длл? есть програмка - монитор...

Изменение одного свойства группе объектов
Встала такая задача, нужно нескольким элементам имеющие называния vvp1 vvp2 vvp3... И т.д. ...

Изменение свойства при изменении другого свойства
Предположим у меня есть товар,у которого есть несколько размеров и к каждому размеру привязана...

4
284 / 255 / 73
Регистрация: 17.07.2012
Сообщений: 618
12.12.2013, 13:15 2
Пойдет?
C#
1
 mc.Find(x => x.Id == 2).Price = 65;
1
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
13.12.2013, 08:51  [ТС] 3
А если элементов с одинаковым id будет больше одного, то как тогда?
0
174 / 73 / 30
Регистрация: 20.11.2013
Сообщений: 358
13.12.2013, 09:05 4
C#
1
mc.Find(x =>( x.Id == 2)&&(x.Price==74)).Price = 65;
кинь эту строку в цикл и все...
0
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
13.12.2013, 09:09  [ТС] 5
От чего ушли к тому пришли
0
13.12.2013, 09:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.12.2013, 09:09
Помогаю со студенческими работами здесь

Изменение ObservableCollection: автоматическое изменение свойства при изменении в DataGrid
Здравствуйте. Имеется коллекция на 35 параметров. Значения 2 главных параметров складываются из...

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

Свойства объектов
Есть объект имеющий 20 однотипных свойств возвращающих true false.Надо все эти свойства проверить...

Свойства динамических объектов
Доброго времени суток. Пожалуйста, помогите понять, как задать свойство для каждого создаваемого...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru