这应该很简单,但我是LINQ的新手。我有List<FillStruct>
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;
}
答案 0 :(得分:21)
List<FillStruct> origList = ...
List<NewFillStruct> newList = origList.Select(x => new NewFillStruct {
numlong = x.buy - x.sell, date = x.date
}).ToList();
但请注意,struct
或完全避免使用LINQ:
class
答案 1 :(得分:3)
这将从可枚举的“fillstructs”中选择所有数据,并创建包含计算值的“NewFillStruct”的可枚举。
var newfills = from fillstruct in fillstructs
select new NewFillStruct
{
numlong = fillstruct.buy - fillstruct.sell,
date = fillstruct.date
};