【发布时间】:2021-04-11 20:34:30
【问题描述】:
我有一个问题,我已经尝试解决了很长一段时间,但我就是无法解决它。 我有两个已初始化的双变量。显然,我得到了一个错误,因为它们应该有一个值。但是,我可以将其设置为 0 的唯一值。问题是,如果我将值设置为 0,我的程序将无法正确运行,并且我的程序的输出也会变为 0。
错误:局部变量“userSalary”在访问之前可能未初始化
我还在学习方法、参数和参数的方式。
class Program
{
static void Main(string[] args)
{
double userSalary;
double leftOver;
AskQuestion(userSalary);
CalculateTax(userSalary, leftOver);
}
static void AskQuestion(double userSalary)
{
Console.WriteLine("What is annual your salary?");
userSalary = Convert.ToDouble(Console.ReadLine());
}
static void CalculateTax(double userSalary, double leftOver)
{
if (userSalary <= 14_000) //10%
{
Console.WriteLine("You are in Tax Category 1. 10% of your Salary goes to the state!");
Console.WriteLine("Calculating Salary...");
Thread.Sleep(500);
leftOver = userSalary - (userSalary * 10 / 100);
Console.WriteLine("Your Salary after taxation is: $" + leftOver);
}
}
}
【问题讨论】:
-
我认为你应该使用方法返回值而不是传递变量给它。
标签: c# methods parameters arguments