在最后两行中使用未分配的局部变量 FedTax 和 netPay


if(hoursWorked > base_hours)
{
basePay = hourlyPayRate * base_hours;
overtimeHours = hoursWorked - base_hours;
overtimePay = overtimeHours * hourlyPayRate * overtime_rate;
grossPay = basePay + overtimePay;
fedTax = grossPay * 0.15m;
netPay = grossPay - fedTax;
}
else
{
grossPay = hoursWorked * hourlyPayRate;
}
textBox4.Text = grossPay.ToString("c");
textBox5.Text = fedTax.ToString("c");
textBox6.Text = netPay.ToString("c");

使用未赋值的局部变量 FedTax 倒数第二行。
在最后一行使用未分配的局部变量netPay。

我猜当你声明这两个变量时,你没有将它们初始化为任何东西。因此,如果您的 else 语句执行,它们将保持未初始化状态。

您可以在声明期间将它们初始化为 " 以避免这种情况(假设这不会损害您的功能(,但在这种情况下,我认为您只想复制

fedTax = grossPay * 0.15m;
netPay = grossPay - fedTax;

也进入你的 else 块。

最新更新