2011-10-17 76 views
-1

可能重複:
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); 
    } 
+0

您應該更新,而不是發佈一個新的你前面的問題(http://stackoverflow.com/questions/7788358/sorting-by-name-alphabetic)。 –

+0

我現在問的問題有點不同,我不想過分改變我的最後一個問題。現在我已經知道爲什麼它不工作了,我已經玩了一些代碼並改變了一些東西,但是試圖看看如何從這裏開始工作。 – Brandon

回答

0

如果rbRegion.Checked條件中的值是一個數組。你可以使用這段代碼。

Array.Sort(YourStringArray); // Ascending 

Array.Reverse(YourStringArray); // Descending