Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C类没有响应_C#_Class - Fatal编程技术网

C# C类没有响应

C# C类没有响应,c#,class,C#,Class,我正在制作一个程序,根据员工的工作时间和工资率计算员工的工资。但是,当我尝试使用在另一个类中创建的方法时: public void GrossPay(int i) { double GrossPay = 0.0; GrossPay = Hours[i] * PayRate[i]; Wages[i] = GrossPay; } 尝试在我的主程序中使用它: public static void Payroll() {

我正在制作一个程序,根据员工的工作时间和工资率计算员工的工资。但是,当我尝试使用在另一个类中创建的方法时:

public void GrossPay(int i)
    {
        double GrossPay = 0.0;
        GrossPay = Hours[i] * PayRate[i];
        Wages[i] = GrossPay;
    }
尝试在我的主程序中使用它:

public static void Payroll()
    {
        int employeeID = 0;
        int hours = 0;
        double payRate = 0.0;
        double wages = 0.0;
        Payroll payroll = new Payroll(employeeID, hours, payRate, wages);

        for (int i = 0; i < payroll.EmployeeID.Length; i++)
        {
            Console.WriteLine("Employee ID: {0}", payroll.EmployeeID[i]);
            Console.WriteLine("How many hours does employee {0} work?", payroll.EmployeeID[i]);
            string h = Console.ReadLine();
            payroll.Hours[i] = Convert.ToInt32(h);
            Console.WriteLine("What is the hourly wage for employee {0}?");
            string w = Console.ReadLine();
            payroll.PayRate[i] = Convert.ToInt32(w);
            Console.WriteLine("Employee ID: {0} \nGross Pay: {1}", payroll.EmployeeID[i], payroll.Wages[i]);
            Console.ReadLine();
        }
    }
publicstaticvoidpayroll()
{
int employeeID=0;
整小时=0;
双倍工资率=0.0;
双倍工资=0.0;
工资总额=新工资总额(员工ID、工时、工资率、工资);
对于(int i=0;i

无论发生什么情况,总薪酬都返回0。请帮忙

您从未调用您构建的方法;您应该在读取
工资
属性之前调用它

// ...
payroll.PayRate[i] = Convert.ToInt32(w);
payroll.GrossPay(i);
Console.WriteLine("Employee ID: {0} \nGross Pay: {1}", payroll.EmployeeID[i], payroll.Wages[i]);
// ...
这会解决你的问题,但我建议你试一试。我建议您创建一个
Employee
类,该类将具有诸如
Id
PayRate
Hours
等属性,以及一个可能如下所示的属性
工资

public double Wages
{
    get
    {
        return PayRate * Hours;
    }
}
然后,
Payroll
类可能包含一系列员工:
列出员工