我要做的是创建一个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(' ');
}
}
}
非常感谢您的帮助。
答案 0 :(得分:6)
您可以使用Split返回的数组来计算使用Average的元素的平均值,但首先必须将字符串数组转换为数字数组,如int
或double
等
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.
}