问答详情
源自:3-3 C# 方法的重载

把两个参数写在一个方法中,编译即出错,这是为何?


        public void Eatsugar(string sugar, int count)

        {

            if (sugar == "榴莲糖" && count <= 3)

            {

                Console.WriteLine("我不喜欢榴莲糖");

            }


            else if (sugar != "榴莲糖" && count <= 3)

            {

                Console.WriteLine("最多只能再吃2颗哦");

            }

            else if (sugar != "榴莲糖" && count > 3)

            {

                Console.WriteLine("吃太多糖对牙齿不好哦!");

            }

            

        }


提问者:慕粉3445551 2016-06-19 16:37

个回答

  • threepig
    2016-06-20 11:45:22

    1. 一个方法里当然可以有两个形参,所以编译报错不是因为把两个参数写在一个方法中而报错,你定义的方法的这个程序也没有问题;

    2. 报错可能是你传入的实参和形参不一样或者调用的函数名和你定义的函数名不同,比如你声明了xiaoMing这个类的对象之后,调用Eatsugar方法,xiaoMing.Eatsugar("棉花糖",4);这样是不会报错的。但是假如你还是只传入一个实参xiaoMing.Eatsugar("棉花糖")或者实参和形参的数据类型不同xiaoMing.Eatsugar("棉花糖",4.0)编译就会报错~