如何存储数字形式9不同的文本框和排序加入

时间:2015-07-22 08:18:03

标签: c# asp.net sorting

此按钮已填充,这意味着单击此按钮将自动生成随机数。

这是我的代码:

protected void Button1_Click(object sender, EventArgs e)
{
    int rid = RandomNumber(-111, 999);
    int rid1 = RandomNumber(-111, 999);
    int rid2 = RandomNumber(-222, 888);
    int rid3 = RandomNumber(-333, 777);
    int rid4 = RandomNumber(-222, 777);
    int rid5 = RandomNumber(-333, 444);
    int rid6 = RandomNumber(-555, 888);
    int rid7 = RandomNumber(444, 999);
    int rid8 = RandomNumber(111, 222);
    int rid9 = RandomNumber(222, 333);

    txt1.Text = rid.ToString();
    txt2.Text = rid1.ToString();
    txt3.Text = rid3.ToString();
    txt4.Text = rid4.ToString();
    txt5.Text = rid5.ToString();
    txt6.Text = rid6.ToString();
    txt7.Text = rid7.ToString();
    txt8.Text = rid8.ToString();
    txt9.Text = rid9.ToString();
}

第二个按钮是排序列表。

如何获取所有数字并按照加入回放到9个不同的文本框中?

这是按钮排序列表的编码:

  protected void Button2_Click(object sender, EventArgs e)
{

    int no1;
    int no2;
    int no3;
    int no4;
    int no5;
    int no6;
    int no7;
    int no8;
    int no9;
    //int answer;

    no1 = int.Parse(txt1.Text);
    no2 = int.Parse(txt2.Text);
    no3 = int.Parse(txt3.Text);
    no4 = int.Parse(txt4.Text);
    no5 = int.Parse(txt5.Text);
    no6 = int.Parse(txt6.Text);
    no7 = int.Parse(txt7.Text);
    no8 = int.Parse(txt8.Text);
    no9 = int.Parse(txt9.Text);


    int[] a = new int[] {no1,no2,no3,no4,no5,no6,no7,no8,no9 };

    Array.Sort(a);


    foreach (var str in a)
    {
        MessageBox.Show(str.ToString());
    }

}

我可以在MessageBox中显示排序ACS但我不能将数字ACS放入文本框中 但仍然无法得到答案,错在哪里? 谢谢你的帮助。

2 个答案:

答案 0 :(得分:0)

您可以将生成的数字放入列表中,对列表进行排序并相应地分配数字。因此,txt1.Text = sortedRandList[0];等等。

要获得稍微清晰的代码,您可以考虑将所有文本框放在列表中,最终最终执行textBoxesList[i] = sortedRandList[i];。这应该清理一下代码。

答案 1 :(得分:0)

您可以创建整体列表,然后按如下方式对其进行排序:

List<int> rids = null;

protected void Button1_Click(object sender, EventArgs e)
{
    rids = new List<int>()
    {
       RandomNumber(-111, 999),
       RandomNumber(-111, 999),
       RandomNumber(-222, 888),
       RandomNumber(-333, 777),
       RandomNumber(-222, 777),
       RandomNumber(-333, 444),
       RandomNumber(-555, 888),
       RandomNumber(444, 999),
       RandomNumber(111, 222),
       RandomNumber(222, 333)
    };         

    DisplayValues();  // use it if you want to show your values in UI

}

protected void sortButton_Click(object sender, EventArgs e)
{
   rids.Sort();

   DisplayValues()
}

private void DisplayValues()
{
   for (int i = 0; i < Controls.Count; i++)
   {
       if (Controls[i] is TextBox) if(Controls[i]).ID.Contains("txt"))
       (Controls[i] as TextBox).Text = rids[Int32.Parse(Controls[i].ID.Replace("txt", "")) - 1].ToString();
   }
}