我需要获取由很多行组成的特定列(在我的情况下为Total)中的最大,第二大,第三大数目,我正在学习c#,请帮助我解决此问题>
我为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]是列总数
答案 0 :(得分:1)
您可以对集合进行排序并采用前三个元素:
string[] res = array.OrderByDescending().Take(3).ToArray();
当然,您应该确定排序的字符串是Intigers(如果不确定,请使用int.TryParse)。