c#中的方法重载返回不同返回类型的错误结果

本文关键字:返回类型 错误 结果 返回 方法 重载 | 更新日期: 2023-09-27 18:18:02

我尝试检查c#中的方法重载下面的代码输出是21而不是22。对吗?

static void Main(string[] args)
        {
            double d = AddTwoNumbers(10 , 10);
            Console.Write("Result : {0}", d);
            Console.ReadKey();
        }
        static int AddTwoNumbers(int a, int b)
        {
            return a + b + 1;
        }
        static double AddTwoNumbers(double a, double b)
        {
            return a + b + 2;
        }

c#中的方法重载返回不同返回类型的错误结果

10被视为integer,而不是double,除非您明确指定:

// using 'd' literal
double d = AddTwoNumbers(10d , 10d);
// Or via explicit cast
double d = AddTwoNumbers((double)10, (double)10);