Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#将数字从最低到最高排序_C#_Sorting_Numbers - Fatal编程技术网

c#将数字从最低到最高排序

c#将数字从最低到最高排序,c#,sorting,numbers,C#,Sorting,Numbers,我有5个随机数,每个在单独的标签,并想排序他们从最低到最高,并把他们在新的标签 例如: 带有1-60之间随机数的标签 number1.Text = 42 number2.Text = 51 number3.Text = 12 number4.Text = 33 number5.Text = 26 我想把数字从最低到最高分别放在单独的标签上 例如: sortNumber1.Text = 12 sortNumber2.Text = 26 sortNumber3.Text = 33 sortNumb

我有5个随机数,每个在单独的标签,并想排序他们从最低到最高,并把他们在新的标签

例如: 带有1-60之间随机数的标签

number1.Text = 42
number2.Text = 51
number3.Text = 12
number4.Text = 33
number5.Text = 26
我想把数字从最低到最高分别放在单独的标签上

例如:

sortNumber1.Text = 12
sortNumber2.Text = 26
sortNumber3.Text = 33
sortNumber4.Text = 42
sortNumber5.Text = 51
到目前为止,我尝试使用以下代码将所有已排序的数字放在一个标签中:

private void button63_Click(object sender, EventArgs e)
{
    var orderNumber1 = Convert.ToInt32(number1.Text);
    var orderNumber2 = Convert.ToInt32(number2.Text);
    var orderNumber3 = Convert.ToInt32(number3.Text);
    var orderNumber4 = Convert.ToInt32(number4.Text);
    var orderNumber5 = Convert.ToInt32(number5.Text);
    int[] numbers = { orderNumber1, orderNumber2, orderNumber3, orderNumber4, orderNumber5};
    Array.Sort(numbers);

    int i = 0;
    for (i = 0; i < numbers.Length; i++)
    { 
        selected_number1.Text = (numbers[i].ToString());
    }
}
private void按钮63\u单击(对象发送者,事件参数e)
{
var orderNumber1=Convert.ToInt32(number1.Text);
var orderNumber2=Convert.ToInt32(number2.Text);
var orderNumber3=Convert.ToInt32(number3.Text);
var orderNumber4=Convert.ToInt32(number4.Text);
var orderNumber5=Convert.ToInt32(number5.Text);
int[]number={orderNumber1,orderNumber2,orderNumber3,orderNumber4,orderNumber5};
数组。排序(数字);
int i=0;
对于(i=0;i

但只输入了最后一个(最高)数字。如果有什么不合理的话,那是因为我是诺布。我会理解的解决方案将是伟大的。多谢各位

我想在这里更改整个设计(创建一个标签列表并使用它来迭代标签),但现在您可以使用以下内容替换
for
循环:

sortNumber1.Text = numbers[0].ToString();
sortNumber2.Text = numbers[1].ToString();
sortNumber3.Text = numbers[2].ToString();
sortNumber4.Text = numbers[3].ToString();
sortNumber5.Text = numbers[4].ToString();

我想在这里更改整个设计(创建标签列表并使用它在标签上迭代),但现在您可以使用以下内容替换
for
循环:

sortNumber1.Text = numbers[0].ToString();
sortNumber2.Text = numbers[1].ToString();
sortNumber3.Text = numbers[2].ToString();
sortNumber4.Text = numbers[3].ToString();
sortNumber5.Text = numbers[4].ToString();
for(i=0;i
在您的循环中,您每次都设置
selected\u number1.Text
,因此这是唯一设置的。

for(i=0;i
在您的循环中,您每次都设置
选中的\u number1。Text
,因此这是唯一设置的内容。

尝试以下操作:

int[] numbers = { orderNumber1, orderNumber2, orderNumber3, orderNumber4, orderNumber5 };
Array.Sort(numbers);
foreach (var item in numbers)
{
     Console.WriteLine(item);       
}
试试这个:

int[] numbers = { orderNumber1, orderNumber2, orderNumber3, orderNumber4, orderNumber5 };
Array.Sort(numbers);
foreach (var item in numbers)
{
     Console.WriteLine(item);       
}

如果需要单个字符串,则需要将它们连接起来。可能最简单的方法是使用LINQ:

var numStrings = numbers.Select((i) => i.ToString());
selected_number1.Text = string.Join(",", numStrings);

如果需要单个字符串,则需要将它们连接起来。可能最简单的方法是使用LINQ:

var numStrings = numbers.Select((i) => i.ToString());
selected_number1.Text = string.Join(",", numStrings);

虽然你已经回答了

 List<TextBox> tBoxes = new List<TextBox>();
        tBoxes.Add(number1);
        tBoxes.Add(number2);
        tBoxes.Add(number3);
        tBoxes.Add(number4);
        tBoxes.Add(number5);
        List<int> allNums = new List<int>();

        foreach (TextBox item in tBoxes)
        {
            allNums.Add(int.Parse(item.Text));
        }


        allNums.Sort();
        for (int i = 0; i < tBoxes.Count - 1; i++)
        {
            tBoxes[i].Text = allNums[i].ToString();
        }
List tBoxes=new List();
t盒子。添加(编号1);
t盒子。添加(编号2);
t添加(编号3);
t添加(编号4);
t盒子。添加(编号5);
List allNums=新列表();
foreach(文本框中的文本框项)
{
Add(int.Parse(item.Text));
}
allNums.Sort();
对于(int i=0;i
尽管你已经回答了

 List<TextBox> tBoxes = new List<TextBox>();
        tBoxes.Add(number1);
        tBoxes.Add(number2);
        tBoxes.Add(number3);
        tBoxes.Add(number4);
        tBoxes.Add(number5);
        List<int> allNums = new List<int>();

        foreach (TextBox item in tBoxes)
        {
            allNums.Add(int.Parse(item.Text));
        }


        allNums.Sort();
        for (int i = 0; i < tBoxes.Count - 1; i++)
        {
            tBoxes[i].Text = allNums[i].ToString();
        }
List tBoxes=new List();
t盒子。添加(编号1);
t盒子。添加(编号2);
t添加(编号3);
t添加(编号4);
t盒子。添加(编号5);
List allNums=新列表();
foreach(文本框中的文本框项)
{
Add(int.Parse(item.Text));
}
allNums.Sort();
对于(int i=0;i
在对排序数组进行迭代时,使用以下语句重复将同一控件设置为当前值:

selected_number1.Text = (numbers[i].ToString());
我可能会这样做:

Label[] display  = { Sorted1 , Sorted2 , Sorted3 , Sorted4 , Sorted5 , } ;
Label[] unsorted = { Label1  , Label2  , Label3  , Label4  , Label5  , } ;
int[]   sorted   = unsorted.Select( x => int.Parse(x.Text) ).OrderBy( x => x ).ToArray() ;
for ( int i = 0 ; i < 5 ; ++i )
{
  display[i].Text = sorted[i].ToString() ;
}
Label[]显示={Sorted1、Sorted2、Sorted3、Sorted4、Sorted5、};
标签[]未排序={Label1,Label2,Label3,Label4,Label5,};
int[]sorted=unsorted.Select(x=>int.Parse(x.Text)).OrderBy(x=>x.ToArray();
对于(int i=0;i<5;++i)
{
显示[i].Text=sorted[i].ToString();
}

在对排序数组进行迭代时,使用以下语句重复将同一控件设置为当前值:

selected_number1.Text = (numbers[i].ToString());
我可能会这样做:

Label[] display  = { Sorted1 , Sorted2 , Sorted3 , Sorted4 , Sorted5 , } ;
Label[] unsorted = { Label1  , Label2  , Label3  , Label4  , Label5  , } ;
int[]   sorted   = unsorted.Select( x => int.Parse(x.Text) ).OrderBy( x => x ).ToArray() ;
for ( int i = 0 ; i < 5 ; ++i )
{
  display[i].Text = sorted[i].ToString() ;
}
Label[]显示={Sorted1、Sorted2、Sorted3、Sorted4、Sorted5、};
标签[]未排序={Label1,Label2,Label3,Label4,Label5,};
int[]sorted=unsorted.Select(x=>int.Parse(x.Text)).OrderBy(x=>x.ToArray();
对于(int i=0;i<5;++i)
{
显示[i].Text=sorted[i].ToString();
}

创建一个列表,将文本解析为整数,然后使用排序功能。您只需更新一个标签,即selected\u number1。。你不应该更新所有的吗?我会创建
列表
,然后使用
OrderByDescending
功能对它们进行排序。谢谢你的回复。MarcinJuraszek aneser:)感谢您帮助创建列表并将文本解析为整数,然后使用排序函数。您只更新一个标签,即selected_number1。。你不应该更新所有的吗?我会创建
列表
,然后使用
OrderByDescending
功能对它们进行排序。谢谢你的回复。MarcinJuraszek aneser:)谢谢你的帮助谢谢。这真的帮了我。。。我刚刚添加了.ToString();在每个数字[0]之后,数字[1]等等,它都起作用了。谢谢。这真的帮了我。。。我刚刚添加了.ToString();在每个数字[0]、数字[1]等之后,它就开始工作了。