添加最高费用c#

添加最高费用c#,c#,arrays,max,C#,Arrays,Max,我需要增加一个最高费用,这和困惑如何做到这一点,我补充说 常量十进制最大费用=20.00M;修改代码并尝试了一些不同的方法,但都不起作用,例如ifs和elseif:(请帮助) static void Main(string[] args) { int[] hours = new int[31]; const decimal HOURLY_RATE = 2.5M; const decimal MAX_FEE = 20.00M;

我需要增加一个最高费用,这和困惑如何做到这一点,我补充说 常量十进制最大费用=20.00M;修改代码并尝试了一些不同的方法,但都不起作用,例如ifs和elseif:(请帮助)

   static void Main(string[] args)
    {
        int[] hours = new int[31];
        const decimal HOURLY_RATE = 2.5M;
        const decimal MAX_FEE = 20.00M;
        decimal pay;
        int counter = 0;
        string line;
        StreamReader fileSR = new StreamReader("hours.txt");
        line = fileSR.ReadLine();
        while (line != null)
        {
            hours[counter] = int.Parse(line);
            counter = counter + 1;
            line = fileSR.ReadLine();
        }
        fileSR.Close();
        Console.WriteLine("hours     pay");
        for (int i = 0; i < hours.Length; i++)
        {
            pay = hours[i] * HOURLY_RATE;
            Console.WriteLine("{0,4} {1,10}", hours[i], pay.ToString("C"));
        }
        Console.ReadKey();




    }
}
static void Main(字符串[]args)
{
整数[]小时=新整数[31];
常量十进制小时费率=2.5M;
常量十进制最大费用=20.00M;
十进制工资;
int计数器=0;
弦线;
StreamReader fileSR=新的StreamReader(“hours.txt”);
line=fileSR.ReadLine();
while(行!=null)
{
小时数[计数器]=整数解析(行);
计数器=计数器+1;
line=fileSR.ReadLine();
}
fileSR.Close();
控制台。书面形式(“小时工资”);
for(int i=0;i
}


如果超过10小时,程序需要在“支付”列中显示20美元。如果我理解正确,则不需要超过20美元:

pay = Math.Min(hours[i] * HOURLY_RATE, MAX_FEE);

如果文件的行数超过30行,while循环会发生什么情况?对不起,我的错误,键入文件的行数是30行,应该是31行,它在列表底部显示一个零,我也在计算平均值,这没关系。我试图得到的是,假设文件始终有
x
行数是错误的:
int[31]
。如果您的文件有50行,您会得到一个异常。使用
列表代替数组。
。好的,现在可以修复了。谢谢兄弟,祝我好运,找到一个整天都有麻烦的平均数,谢谢大家:)