程序开发 > C# > 正文

.net4.0支持参数默认值实例

亮术网 2020-08-08 本网原创

用过 PHP 编程的,想必对参数默认值并不陌生,就是在定义方法的参数时初始化一个值。而今 .net4.0也支持参数默认值了,在某些情况下不用再用构造函数来初始化,文章将以 C# 为例介绍 .net参数默认值的有关情况。

 

一、.net4.0支持参数默认值示例1

public class UserInfo
  {
    /// <summary>
    /// .net参数默认值(C#) 示例
    /// </summary>
    /// <param name="userName">用户名</param>
    /// <param name="sex">性别</param>
    /// <param name="age">年龄</param>
    /// <param name="addr">地址</param>

  public void User(string userName = "云宜", bool sex = true, int age = 22, string addr = "大道路100号")
    {
      HttpContext.Current.Response.Write(string.Format("userName = {0};sex = {1};age = {2};addr = {3}", userName, sex, age, addr));

    //Console.WriteLine(string.Format("userName = {0};sex = {1};age = {2};addr = {3}", userName, sex, age,addr));
    }
  }

调用:

UserInfo ui = new UserInfo();

ui.User();//输出:userName = 云宜;sex = True;age = 22;addr = 大道路100号

ui.User("羽景");//输出:userName = 羽景;sex = True;age = 22;addr = 大道路100号

ui.User("羽景", false, 23, "云天路200号");
//输出:userName = 羽景;sex = False;age = 23;addr = 云天路200号

 

ui.User(age:25);//输出:userName = 云宜;sex = True;age = 25;addr = 大道路100号

ui.User(userName:"羽景",age:25); 或 ui.User("羽景",age:25);
  //输出:userName = 羽景;sex = True;age = 25;addr = 大道路100号

ui.User(sex:false, age:23,addr:"云天路200号");
  //输出:userName = 云宜;sex = False;age = 23;addr = 云天路200号

 

输入结果分析总结:

如果一个参数都不提供,则输出所有参数默认值;

如果提供一个参数,则默认是第一个参数,其它的取默认值;

如果提供所有参数,则不需要用参数变量指明;

如果提供的唯一参数不是第一个参数,则需要用变量指明,如 age:25;

如果提供的参数.net能区分,则不需用参数变量指明,如 ui.User("羽景",age:25),当然也可指明;

 

 

二、.net4.0支持参数默认值示例2:

主要说明“可选参数必须出现在所有必需参数之后”,如下面的方法中把 string addr 调到第2位,正是这个原因。

public class UserInfo
  {
    /// <summary>
    /// .net参数默认值(C#) 示例2
    /// </summary>
    /// <param name="userName">用户名</param>
    /// <param name="addr">地址</param>
    /// <param name="sex">性别</param>
    /// <param name="age">年龄</param>

    public void Users(string userName, string addr, bool sex = true, int age = 22)
    {
      HttpContext.Current.Response.Write(string.Format("userName = {0};addr = {1};sex = {2};age = {3}", userName, addr, sex, age));
    }
  }

调用:

UserInfo ui = new UserInfo();

ui.Users("李友情", "大道路100号", false);
  //输出:userName = 李友情;addr = 大道路100号;sex = False;age = 22

ui.Users("李友情", "大道路100号", age:28);
  //输出:userName = 李友情;addr = 大道路100号;sex = True;age = 28

 

以上所举的2个示例,粗略说明了.net参数默认值的情况,要想掌握得更全面、应用更自如,只有在编程过程中不断学习总结。