我正在收集数据,其中有2列的数组看起来像这样

---------------
Order  | Value
---------------
order1 | 45
order2 | 70
order1 | 85
order2 | 32
--------------

如何获得基于数组的条件中的所有值,其中order =仅order 1,并将它们求和?
谢谢,

最佳答案

使用Linq(Where用于条件)和(Sum用于聚合函数):

var sum = array.Where(x=> x.Order == "order1").Sum(x=> x.Value);


如果您确实要表示二维(多维)阵列,则可以执行以下操作:

object[,] array =
{
    { "order1", 45 }, { "order2", 70 },
    { "order1", 85 }, { "order2", 32 }
};


decimal Sum = 0;
for(int i = 0; i < array.GetLength(0); i++)
{
    if (array.GetValue(i, 0)?.ToString() == "order1")
    {
        decimal val;
        if(decimal.TryParse(array.GetValue(i, 1)?.ToString(), out val))
            Sum += val;
    }
}

10-05 21:18