Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменить значение в списке(LINQ) / 4 сообщений из 4, страница 1 из 1
22.02.2017, 10:33
    #39408927
Mixon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить значение в списке(LINQ)
Приветствую ВСЕХ!
Подскажите, а можно ли произвести массовое изменение свойства у элементов коллекции без перебора?

Допустим есть:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public class c1
{
public int id;
public int zzz;
public string name;
}

...
List<c1> tmp= new List<c1>();
tmp.Add(new c1(){id=1,name="1",zzz=1});
tmp.Add(new c1(){id=2,name="2",zzz=2});
tmp.Add(new c1(){id=3,name="3",zzz=3});

//как умножить zzz в колекции на 2 без перебора?
for(int i=0;i<tmp.Count;i++)
{
tmp[i].zzz*=2;
}
...
Рейтинг: 0 / 0
22.02.2017, 10:48
    #39408938
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить значение в списке(LINQ)
Если класс с1 можно менять, то в нем реализовать подписку на событие MultiplierChanged и в нем умножать, а где-то в коде вызывать MultiplierEvent?.Invoke()
...
Рейтинг: 0 / 0
22.02.2017, 11:17
    #39408965
refreg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить значение в списке(LINQ)
Mixon,

так:
Код: c#
1.
tmp.ForEach(x => x.zzz *= 2);


или так:
Код: c#
1.
tmp.AsParallel().ForAll(x => x.zzz *= 2);



Ну, я думаю, понятно, что совсем без перебора не получится. Внутри, все равно будет перебор...
...
Рейтинг: 0 / 0
22.02.2017, 11:34
    #39408985
Mixon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Изменить значение в списке(LINQ)
refregMixon,

так:
Код: c#
1.
tmp.ForEach(x => x.zzz *= 2);


или так:
Код: c#
1.
tmp.AsParallel().ForAll(x => x.zzz *= 2);



Ну, я думаю, понятно, что совсем без перебора не получится. Внутри, все равно будет перебор...

Спасибо!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Изменить значение в списке(LINQ) / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]