2016-09-29 49 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(); 
相关问题