我有lstCmplx = List<List<CustomClass>>
,自定义类看起来像这样:
Public Class CustomClass
{
Decimal Value {get, set }
Action Op {get, set } //This is an enum of operations (Add, Multiply...)
}
对于lstCmplx中的每个列表,我想将所有项的计算结果合并为一个值。 例如,如果:
var lst1 = new List<CustomClasss>()
{
Value = 10, Op = Action.Add
}
var lst2 = new List<CustomClasss>()
{
Value = 4, Op = Action.Multiply,
Value = 6, Op = Action.Subtract //Ignore last action
}
如果列表中有一个项目(例如lst1,则计算在lstCmplx的下一个列表中使用其Action)。如果列表中有多个项目(lst2),则会根据lst中每个项目的Action迭代计算列表项目,忽略最后一个获取单个值的操作。
典型的结果是34 10 + [4 * 6]
我发现要将算法链接在一起有点困难。请帮助。
答案 0 :(得分:0)
如果我理解正确,OP建议的计算基本上是将列表视为所有连接成一个大列表的位置,那么为什么不连接列表然后再运行一次计算呢?