2016-09-29 18 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はNAME1で行く、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

ようにそれを行うことができますそれと関係がありますか?あなたのコードには文字列がありません。 – dman2306

+5

intに関連付けられた文字列を持っている場合は、両方を保持するクラスを作成し、そのオブジェクトのコレクションをint値で並べ替えることをお勧めします。 – juharr

答えて

0

あなたがから文字列を取っているので、そのテキストボックスの名前を動的に作成することができます。私はint配列には、1から8の文字列のインデックスが必要な順序で含まれていると仮定します。

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

あなたは、単にnameBox1まで順nameBox8内の文字列をしたい場合、あなたはintの配列を持っている場合は、文字列を何、私は理解していないこの

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