我收集的数据是一个包含 2 列的数组,如下所示
---------------
Order | Value
---------------
order1 | 45
order2 | 70
order1 | 85
order2 | 32
--------------
如何获取基于条件的数组中的所有值 where order= order1 only and sum them?
谢谢,
最佳答案
使用 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;
}
}
关于c# - 如何在基于条件的数组中查找值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38605404/