Я хотел бы вычислить sth, как разницу в скорости с linq в списке, но не могу заставить его работать.Изменение значения на основе критериев с LINQ
Вот что я пытаюсь сделать (упрощение версии):
public class SampleCl
{
public string label;
public double val;
public double valdiff;
}
У меня есть класс со значениями и метка и третий двойной с предполагается провести различие.
Некоторые образцы данных:
var samplelist = new List<SampleCl>();
samplelist.Add(new SampleCl {label ="A", val= 1 });
samplelist.Add(new SampleCl { label = "B", val = 2 });
samplelist.Add(new SampleCl { label = "C", val = 3 });
Приведенный ниже код не работает, но показывает хорошо, что я хочу сделать:
samplelist.Where(a => a.valdiff = a.val - a.val.Where(a.label=="B"));
valdiff должен чем держать -1, 0, 1 для A, B , C соответственно
Linq не предназначена для мутирует. Вам лучше сделать это в «foreach». – juharr
Я не уверен, понимаю ли вы, что вы имеете в виду. Вы хотите выбрать все значения различий из вашего списка образцов в элемент с помощью метки: label = B – HimBromBeere
@HimBromBeere: Я хотел бы использовать значение с меткой «B» для вычитания и вычитать это из всех значений и сохранить результат в валдифе. – nik