按名称排序(按字母顺序排列) - 双数组

时间:2011-10-17 04:24:48

标签: c#

  

可能重复:
  Sorting by Name (alphabetic)

说我有以下代码。我总共有6个单选按钮。我有5个单选按钮工作。最后一个叫做单选按钮的叫做rbRegion。我相信我已经正确设置了一切。有两个数组,一个用于字符串,一个用于4个季度总计和一个年度总计。假设我想按区域名称排序,我会将它放在`if(rbRegion.Checked)区域。我究竟需要放在那里按字母顺序对其进行排序并更改相应的数字数组。

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;
    if (rbRegion.Checked)
    {
    }
    else
    {
        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);
    }

1 个答案:

答案 0 :(得分:0)

如果rbRegion.Checked条件中的值是数组。你可以使用这段代码。

Array.Sort(YourStringArray); // Ascending

Array.Reverse(YourStringArray); // Descending