Используйте LINQ и C#, чтобы создать новый список из старого списка
это должно быть довольно просто, но я новичок в LINQ. У меня есть List<FillStruct>
of FillList
структуры. Я хотел бы использовать LINQ для создания нового List<NewFillStruct>
где вместо количества покупок и продаж у меня будет одна переменная, содержащая сумму.
например, если FillStruct
структура
buy = 4
и
sell = 2
тут NewFillStruct
структуры
numlong = 2.
если FillStruct
структура
buy = 2
и
sell = 4
тут NewFillStruct
структуры
numlong = -2.
вот структуры.
struct FillStruct
{
int buy;
int sell;
string date;
}
struct NewFillStruct
{
int numlong;
string date;
}
2 ответов
List<FillStruct> origList = ...
List<NewFillStruct> newList = origList.Select(x => new NewFillStruct {
numlong = x.buy - x.sell, date = x.date
}).ToList();
однако обратите внимание, что struct
не обязательно хороший выбор для этого (предпочитаю class
Если у вас нет веской причины).
или полностью избежать LINQ:
List<NewFillStruct> newList = origList.ConvertAll(x => new NewFillStruct {
numlong = x.buy - x.sell, date = x.date
});
это выделит все ваши данные из перечислимых " fillstructs "и создаст перечислимый" NewFillStruct", содержащий вычисленные значения.
var newfills = from fillstruct in fillstructs
select new NewFillStruct
{
numlong = fillstruct.buy - fillstruct.sell,
date = fillstruct.date
};