如何在基于数组的条件中找到值

MFB*_*FBM 4 c# vb.net arrays

我正在收集一个带有 2 列的数组的数据,如下所示

---------------
Order  | Value
---------------
order1 | 45
order2 | 70
order1 | 85
order2 | 32
--------------
Run Code Online (Sandbox Code Playgroud)

如何获取基于数组的条件 where order= order1 only 中的所有值并对它们求和?

谢谢,

Zei*_*kki 5

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

var sum = array.Where(x=> x.Order == "order1").Sum(x=> x.Value);
Run Code Online (Sandbox Code Playgroud)

如果你真的想要一个二维(多维)数组,那么你可以这样做:

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;
    }
}
Run Code Online (Sandbox Code Playgroud)