C#中可选参数和具名参数的使用
2021-06-09 23:09
标签:class wls code void int 定义 oid main pre 具名参数 和 可选参数 是 C# 4.0 提出来的新特性 一,可选参数分为:部分可选、全部可选 1,声明 2,调用 C#中可选参数和具名参数的使用 标签:class wls code void int 定义 oid main pre 原文地址:https://www.cnblogs.com/hubbert123/p/10640025.html 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);
}
}
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();
}
上一篇:WPF制作的小时钟
下一篇:c#写入配置文件(text)