如何在文本框中读取多个数字并将其添加到C#中?

时间:2014-06-25 06:30:24

标签: c# textbox split

我要做的是创建一个WPF应用程序,允许用户在文本框中输入5个以空格分隔的数字。接下来,他们按下计算按钮,为他们提供这5个数字的平均值。

我在控制台模式下成功完成了这项工作,但现在我对如何解决这个问题感到很困惑。

我创建了文本框,按钮和文本块,我将在其中显示数字。 我想我已经设法分割输入的文本。但是,我似乎无法弄清楚下一步该做什么。

namespace WpfApplication1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Button_Click_1(object sender, RoutedEventArgs e)
    {
        txtbox.Text.Split(' ');
    }
}
}

非常感谢您的帮助。

3 个答案:

答案 0 :(得分:6)

您可以使用Split返回的数组来计算使用Average的元素的平均值,但首先必须将字符串数组转换为数字数组,如intdouble

var avg = txtbox.Text.Split(' ').Select(int.Parse).Average(c=>c);

假设您希望得到平均值为double而不是int。

var avg = txtbox.Text.Split(' ').Select(double.Parse).Average(c=>c);

编辑由于我们返回的是传递给Average方法的相同值,我们可以使用参数less Average方法。

var avg = txtbox.Text.Split(' ').Select(double.Parse).Average();

答案 1 :(得分:2)

String [] numbers = textBox2.Text.Split(' ');
int sum=0;
foreach (var num in numbers)
{
    sum += Convert.ToInt32(num);
}

double avg=sum/(double)numbers.Length;

答案 2 :(得分:1)

拆分返回String[]。将值保存在变量中,并在总结值时将项解析为整数/双精度。

private void Button_Click_1(object sender, RoutedEventArgs e)
{
    string[] items = txtbox.Text.Split(' ');

    //cast and add the values.
}