c# - 如何在基于条件的数组中查找值

标签 c# arrays vb.net

我收集的数据是一个包含 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/

相关文章:

windows - vb.net 尝试安装 Windows 服务时出错

c# - 减少在程序中存储数据时的内存使用-VB.NET/C#

c# - 编程 "Lean left and Lean right"- Kinect 中的手势

c# - 为什么在 C# 中的 RichTextBox 中选择所有文本?

javascript - axios在react js中的get请求上给出错误

c - 用空格查找并替换数组中的制表符?

.net - 如何在图形对象上绘制半透明文本?

c# - 对于简单函数来说,静态相对于非静态的任何优势

c# - 如何知道一个图像的文件大小(C# openDialog,窗体)

javascript - 如何定义数组中的数据以用javascript显示?