zoukankan      html  css  js  c++  java
  • C#中可选参数和具名参数的使用

    具名参数 和 可选参数 是 C# 4.0 提出来的新特性

    一,可选参数分为:部分可选、全部可选

    1,声明

        public class Dogs
        {
            public string Name { get; set; }
            public string Age { get; set; }
    
            //1,name为必选参数,age为可选参数,如果有必选参数,那么可选参数必须定义在必选参数后
            //可选参数之后必然为可选参数
            //如果都是可选参数,那么可以放第一位
            public void Says(string name, int age = 22)
            {
                Console.WriteLine(name + "," + age);
            }
    
            //2,name和age都为可选参数
            public void Eat(string food= "骨头", int bowls = 4)
            {
                Console.WriteLine(food + "," + bowls);
            }
        }

    2,调用

            static void Main(string[] args)
            {
                Dogs dog = new Dogs();
                dog.Says("小白");  //name传入实参,age使用默认值
                dog.Says("小白",1);  //name和age都穿入实参
    
                dog.Eat();  //不穿入实参,food和bowls都使用默认值
                dog.Eat("");//food传入实参,bowls使用默认值
                dog.Eat("",2);//food和bowls都使传入实参       
    
            //dog.Eat(2); //这样调用会报错,因为默认传入的为第一个参数,而第一个参数类型为String类型
           //想要传入第一个参数使用默认值,而第二个参数使用传入值就要使用具名参数
    
    
                //具名参数使用:food使用默认值,而bowls使用传入参数
                //使用具名参数的时候,参数的顺序可以和参数声明时候的顺序不一致
                dog.Eat(bowls: 3);  //food使用默认值,而bowls使用传入值
                dog.Eat(bowls: 2, food: "狗粮");
    
                Console.ReadLine();
    
    
            }
    越努力,越幸运!
  • 相关阅读:
    Django 三(路由)
    Django 二
    Django基础知识
    jquery值,属性,类的操作 文档的操作
    jquery事件对象 , 链式编程,选择器和过滤器,动画;js和jquery互转
    MySQL-1-简介-安装流程
    前端 里的面向对象
    篇二:JS身份证校验
    HTML5属性--(capture="camera") 上传照片或者打开手机相机
    SpringMVC @RequestBody接收Json对象字符串
  • 原文地址:https://www.cnblogs.com/hubbert123/p/10640025.html
Copyright © 2011-2022 走看看