2016-09-29 107 views
1

我有一個從最大到最小組織的整數數組,但是,我希望數值與用戶輸入的名稱字符串相關聯,並從最大至少基於該數值。 該陣列是這樣的:組織基於整數列表的字符串列表c#

int[] array = new int[] { diceRoll1, diceRoll2, diceRoll3, diceRoll4, diceRoll5, diceRoll6, diceRoll7, diceRoll8 }; 
     Array.Sort<int>(array, 
         new Comparison<int>(
           (i1, i2) => i2.CompareTo(i1) 
         )); 

由用戶輸入的字符串列表,diceRoll1去與名1,diceRoll2去與名2等

string name1 = nameBox1.Text; 
string name2 = nameBox2.Text; 
string name3 = nameBox3.Text; 
string name4 = nameBox4.Text; 
string name5 = nameBox5.Text; 
string name6 = nameBox6.Text; 
string name7 = nameBox7.Text; 
string name8 = nameBox8.Text; 
+2

我不明白,如果你有int數組,有什麼事情串必須處理它嗎?我在代碼中看不到任何字符串。 – dman2306

+5

如果您有與int相關聯的字符串,那麼最好創建一個類來保存這兩個對象,然後對這些int值的集合進行排序。 – juharr

回答

0

因爲你正在服用的琴絃文本框,您可以使用數字動態構建文本框名稱。我假設int數組包含按照所需順序從1到8的字符串的索引。

string[] textArray = intArray 
    .Select(i => Controls("nameBox" & array[i]).Text) 
    .ToArray(); 

如果你只是想在訂單nameBox8串到nameBox1,你可以做這樣的

string[] textArray = Enumerable.Range(0, 8) 
    .Select(i => Controls("nameBox" & (8 - i)).Text) 
    .ToArray();