按名称排序(字母)

我有一个带有两个数组的小应用程序。 一个数组是名称,一个数组是分数。 我在“排序”按钮中有以下代码。 还有6个单选按钮按不同方式排序。 其中5个按钮有效,但我似乎无法通过“地区名称”进行排序。 有时,当我在数组中输入两行时,它有效,有时则不然。 我一直试图弄清楚这一近一个小时,但似乎无法弄清楚为什么它不起作用。 有什么想法吗?

private void btnSort_Click(object sender, EventArgs e) { int n; decimal temp; int sortCol = 0; string ntemp; bool swapFlag; if (rb1.Checked) sortCol = 0; if (rb2.Checked) sortCol = 1; if (rb3.Checked) sortCol = 2; if (rb4.Checked) sortCol = 3; if (rbTotal.Checked) sortCol = 4; do { swapFlag = false; for (n = 0; n < lastIndexUsed; n++) { if(quarters[n,sortCol] < quarters[n+1, sortCol]) { //column 4 temp = quarters[n, 4]; quarters[n, 4] = quarters[n + 1, 4]; quarters[n+1, 4] = temp; //col 3 temp = quarters[n, 3]; quarters[n, 3] = quarters[n + 1, 3]; quarters[n + 1, 3] = temp; //col 2 temp = quarters[n, 2]; quarters[n, 2] = quarters[n + 1, 2]; quarters[n + 1, 2] = temp; // col 1 temp = quarters[n, 1]; quarters[n, 1] = quarters[n + 1, 1]; quarters[n + 1, 1] = temp; //col 0 temp = quarters[n, 0]; quarters[n, 0] = quarters[n + 1, 0]; quarters[n + 1, 0] = temp; //name ntemp = Branch[n]; Branch[n] = Branch[n + 1]; Branch[n + 1] = ntemp; swapFlag = true; }//endif }//for end } while (swapFlag); 

在黑暗中拍摄:你说你有六个单选按钮,但你只需要检查五个按钮,然后分配排序列。 如果你的五种工作正常,一种不是,也许这是你省略的按钮?

很难说这确实是问题所在。 这些字段的名称非常不清楚 – 在您的脑海中是“单选按钮6”还是“按区域名称排序的按钮”? 为它的含义命名。