基于整数列表组织字符串列表

本文关键字:列表 字符串 整数 于整数 | 更新日期: 2023-09-27 18:09:36

我有一个整数数组,该数组由最大到最小组织,但是,我希望数值与用户输入的名称字符串相关联,并根据该数值从最大到最小排序。数组的组织方式如下:

 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与name2对应,等等。

 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;

基于整数列表组织字符串列表

由于您正在从文本框中获取字符串,因此可以通过使用数字动态构建文本框名称。我假设int数组包含从1到8的字符串的索引,并按所需的顺序排列。

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

如果你只是想让字符串按nameBox8nameBox1的顺序排列,你可以这样做

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