我正在尝试创建一个整数,该整数由box1中的数字组成(在wpf中)。 但编译器不允许我编译我的代码。怎么了?
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private int addValues()
{
int var1 = int.Parse(box1.Text);
}
}
错误是:
wpfapplication1.mainwindow.addValues。并非所有代码路径都返回值
答案 0 :(得分:0)
private int addValues()
{
int var1 = int.Parse(box1.Text);
return var1;
}
它不合理,有一个返回类型但不返回值的方法。
明智,
private void addValues()
{
int var1 = int.Parse(box1.Text);
}
答案 1 :(得分:0)
您需要在AddValues(int值)中返回一些内容或将其设置为void。
例如:
private int addValues(){ return int.Parse(box1.Text); }
或
private void addValues(){ int var1 = int.Parse(box1.Text); }
最后一个方法(你的方法)的问题根本不起作用(解析一个值而不在任何地方使用它)。
答案 2 :(得分:0)
由于您已将addValues
方法的返回类型声明为int
,因此您告诉编译器您希望此方法返回值,因此在某些时候您的方法必须返回一个整数,例如
private int addValues()
{
return int.Parse(box1.Text);
}
其他选项包括删除返回类型
private void addValues()
{
int var1 = int.Parse(box1.Text);
}
次要注意是使用TryParse
添加错误处理 - 这将确保如果box1.Text
不是有效数字,您仍将返回一个整数(0)
private int addValues()
{
int ret_val;
int.TryParse(box1.Text, out ret_val);
return ret_val;
}