列表列表上的嵌套算术运算

时间:2015-03-12 06:51:15

标签: c# nested-lists

我有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]

我发现要将算法链接在一起有点困难。请帮助。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,OP建议的计算基本上是将列表视为所有连接成一个大列表的位置,那么为什么不连接列表然后再运行一次计算呢?