Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
kmaffa
302 / 300 / 145
Регистрация: 29.10.2012
Сообщений: 819
#1

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

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

Есть класс:
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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 13:07
Ответы с готовыми решениями:

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

Как менять свойства сразу нескольких объектов в цикле?
Суть в том, что у меня много numericUpDown и один CheckBox. При установки...

Изменение свойства всех контролов
Суть вопроса : нужно изменить например все CheckBox.Checked = true;...

Изменение значения поля с помощью свойства
Есть класс,который реализовывает добавление здоровья. Как сделать добавление...

Изменение свойства элемента в другой форме
Как изменить свойство элемента в другой форме? Например, на: ...

4
ITL
276 / 247 / 73
Регистрация: 17.07.2012
Сообщений: 616
12.12.2013, 13:15 #2
Пойдет?
C#
1
 mc.Find(x => x.Id == 2).Price = 65;
1
kmaffa
302 / 300 / 145
Регистрация: 29.10.2012
Сообщений: 819
13.12.2013, 08:51  [ТС] #3
А если элементов с одинаковым id будет больше одного, то как тогда?
0
Jo-Ni-K
169 / 68 / 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
kmaffa
302 / 300 / 145
Регистрация: 29.10.2012
Сообщений: 819
13.12.2013, 09:09  [ТС] #5
От чего ушли к тому пришли
0
13.12.2013, 09:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.12.2013, 09:09

Изменение свойства контрола в окне стороннего приложения.
Здравствуйте, Интересует такой вопрос: &quot;Собственно, возможно ли в C# написать...

Изменение скорости объектов (шаров)
Добрый день. Нужно доделать программу. Застопорился на изменении скорости...

Изменение цвета при столкновении объектов
Есть статичная кнопка, и есть кнопка, которая движется по горизонтали. При...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru