-3
循環消息框!
我有一個循環MessageBox發生錯誤後,我想知道如何解決它。我試圖返回Calculate()方法,我認爲這是問題,但我不知道。C#的例外循環消息框
namespace WindowsFormsApplication7
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public int division = 0;
private void Form1_Load(object sender, EventArgs e)
{
}
private decimal Calculate()
{
// This array is to hold the logical operators
string[] allowed = { "+", "-", "*", "/" };
// If the right operator is selceted then perform the action and return result
if (operate.Text == "+")
{
decimal division = Convert.ToDecimal(operand1.Text) + Convert.ToDecimal(operand2.Text);
}
else if (operate.Text == "-")
{
decimal division = Convert.ToDecimal(operand1.Text) - Convert.ToDecimal(operand2.Text);
}
else if (operate.Text == "*")
{
decimal division = Convert.ToDecimal(operand1.Text) * Convert.ToDecimal(operand2.Text);
}
else if (operate.Text == "/")
{
decimal division = (Convert.ToDecimal(operand1.Text)/Convert.ToDecimal(operand2.Text));
}
// if the operator is not something within the array then display message
else if (!allowed.Contains(operate.Text))
{
string msg = string.Format("Not a valid operater {0}Please Enter one of the Following:{0}{1}"
, Environment.NewLine, string.Join(Environment.NewLine, allowed));
MessageBox.Show(msg);
operate.Text = "";
}
return Calculate();
}
需要聲明'division'在你的方法的頂部,返回底部。 – LarsTech
'return Calculate();'遞歸調用函數永遠, –