1

我希望在文本框中显示一个文本数组,在用逗号分割它之后,我将一堆数字传递到 textbox1 并用逗号分割它,我如何按降序对数字进行排序。这是我到目前为止的方法

    private void btnCalc_Click(object sender, EventArgs e)
    {
        //string A = txtInput.Text;
        string[] arrText = txtInput.Text.Split(',');
        int[] newOne = new int[]{};
        foreach (string r in arrText)
        {

        }
        txtOutput.AppendText( );
    }
4

3 回答 3

3
int[] newOne = arrText.Select(x => int.Parse(x)).OrderByDescending(x => x).ToArray();
于 2012-10-19T11:01:40.190 回答
1

你应该可以这样做:

private void btnCalc_Click(object sender, EventArgs e)
{
    //string A = txtInput.Text;
    string[] arrText = txtInput.Text.Split(',');
    txtOutput.Text = string.Join(",",arrText.Select( s => int.Parse(s)).OrderByDescending( i => i))
}

请注意,如果逗号之间的某些输入文本不是数字,这将爆炸。

于 2012-10-19T11:05:16.203 回答
1

这应该工作:

var newOne = arrText.OrderByDescending(int.Parse).ToArray();

foreach (var s in newOne)
{
      txtOutput.AppendText(s);
}
于 2012-10-19T11:06:20.470 回答