如何从datagridview中的特定列获取最大,第二大和第三大值

问题描述 投票:-1回答:1

我需要得到一个特定列的最大,第二大,第三大数字(在我的案例中名为Total的列),它包含很多行,我只是在学习c#,请帮我解决这个问题

Here i need answer like

我是276,II是240,III是180

我使用了这段代码,并没有得到正确的输出

private void btnGet_Click(object sender, EventArgs e)
{
    string[] array = new string[dgConSheet.Rows.Count - 1 + 1];
    for (int i = 0; i <= dgConSheet.Rows.Count; i++)
    {
        array[i] = dgConSheet.Rows[i].Cells[6].Value.ToString();
    }

    Array.Sort(array); //sorting array
    Array.Reverse(array); // Reverse Sorting array value
    MessageBox.Show("Second Highest Value In Array " + array[1]);
}

这里单元格[6]是列总数

c# asp.net
1个回答
1
投票

您可以对集合进行排序并获取前3个元素:

string[] res = array.OrderByDescending().Take(3).ToArray();

当然你应该确定你排序的字符串是intigers(如果你不确定的话,使用int.TryParse)。

© www.soinside.com 2019 - 2024. All rights reserved.