1.可选参数

可选参数是.NET4中新添加的功能,应用可选参数的方法在被调用的时可以选择性的添加需要的参数,而不需要的参数由参数默认值取代。

class Program
{
/// <summary>
/// 可选参数 命名参数
/// </summary>
static void Main(string[] args)
{
Console.WriteLine(ShowComputer());
Console.WriteLine(ShowComputer("P5300","1G"));
Console.Read();
} private static string ShowComputer(string cpu = "i3 370M", string ram = "4G", string disk = "320G")
{
return "My computer ... \nCpu:" + cpu + "\nRam:" + ram + "\nDisk:" + disk + "\n";
}
}

  

代码运行的结果图下图:

2.命名参数

命名参数是把参数附上参数名称,这样在调用方法的时候不必按照原来的参数顺序填写参数,只需要对应好参数的名称也能完成方法。

class Program
{
/// <summary>
/// 可选参数 命名参数
/// </summary>
static void Main(string[] args)
{
Console.WriteLine(ShowComputer("i3 370M","2G","320G"));
Console.WriteLine(ShowComputer(disk: "320G", cpu: "i3 370M", ram: "2G"));
Console.Read();
} private static string ShowComputer(string cpu, string ram, string disk)
{
return "My computer ... \nCpu:" + cpu + "\nRam:" + ram + "\nDisk:" + disk + "\n";
}
}

    命名参数如果只是改变参数的顺序,这样的意义并不大,我们没有必要为了改变顺序而去用命名参数,他与可选参数结合才能显示出他真正的意义。

class Program
{
/// <summary>
/// 可选参数 命名参数
/// </summary>
static void Main(string[] args)
{
Console.WriteLine(ShowComputer(ram: "3G"));
Console.Read();
} private static string ShowComputer(string cpu = "i3 370M", string ram = "2G", string disk = "320G")
{
return "My computer ... \nCpu:" + cpu + "\nRam:" + ram + "\nDisk:" + disk + "\n";
}
}

  程序只赋值了第二个参数ram,其他参数均为默认值,运行结果大家应该都知道了。这样命名参数和可选参数都发挥了他们独特的作用。

C# 可选参数 命名参数的更多相关文章

  1. Dart 知识点:位置参数(必选)、位置参数(可选)、命名参数(都是可选)

    先后顺序:位置参数(必选).位置参数(可选).命名参数(都是可选) 位置参数(可选).命名参数(都是可选),不能同时使用

  2. mybatis3.1-[topic-18-20]-_映射文件_参数处理_单个参数&多个参数&命名参数 _POJO&Map&TO 三种方式及举例

    笔记要点出错分析与总结 /**MyBatis_映射文件_参数处理_单个参数&多个参数&命名参数 * _POJO&Map&TO 三种方式及举例 _ * 单个参数 : #{ ...

  3. C#4.0新特性:可选参数,命名参数,Dynamic

    1.可选参数 可以为方法的参数设置一个默认值,如下: class Program { static void Main(string[] args) { Show(); Show("cary ...

  4. c# 方法参数(传值,传引用,ref,out,params,可选参数,命名参数)

       一.方法参数的类型----值类型和引用类型 当方法传递的参数是值类型时,变量的栈数据会完整地复制到目标参数中即实参和形参中的数据相同但存放在内存的不同位置.所以,在目标方法中对形参所做的更改不会 ...

  5. C# 4.0 新特性dynamic、可选参数、命名参数等

    1.dynamic ExpandoObject熟悉js的朋友都知道js可以这么写 :   1 var t = new Object(); 2 t.Abc = ‘something’; 3 t.Valu ...

  6. c#中的可选参数和命名参数的使用

    C#4.0之后出现了一个可选参数这个特性. class Cal { static void Main(string[] args) { test1 t = new test1(); t.Add(, ) ...

  7. c#方法重载,可选参数,命名参数。

    其实这里没什么可说哦,c++的语法大同小异.先看一段代码. class Program { public static void Test(int a) { Console.WriteLine(&qu ...

  8. C#方法的六种参数,值参数、引用参数、输出参数、参数数组、命名参数、可选参数

    方法的参数有六种,分别是值参数.引用参数.输出参数.参数数组.命名参数.可选参数. 值参数 值参数是方法的默认类型,通过复制实参的值到形参的方式把数据传递到方法,方法被调用时,系统作两步操作: 在栈中 ...

  9. C# 方法的可选参数、命名参数

    原文 http://www.cnblogs.com/lonelyxmas/admin/EditPosts.aspx?opt=1 C#方法的可选参数是.net 4.0最新提出的新的功能,对应简单的重载可 ...

随机推荐

  1. js检测来源网址,如果是搜索引擎跳转到新地址

    [js]代码 <script> var regexp=/\.(sogou|soso|baidu|google|youdao|yahoo|bing|118114|biso|gougou|if ...

  2. JPA的配置文件

    一.引入包 <dependencies> <!-- https://mvnrepository.com/artifact/org.hibernate.javax.persistenc ...

  3. CentOS7系统安装Nginx进行跨域处理

    1 打开终端 依次输入以下命令: yum install nginx vi /etc/nginx/nginx.conf 然后编辑修改该文件中代码,以下是修改后的代码全文: # For more inf ...

  4. Python两个变量的值进行交换的方法

    Python两个变量的值进行交换的方法 使用第三方变量: '''这是第一种赋值方法,采用第三方变量''' c = a a = b b = c 使用两个变量: '''使用两个变量''' a = a+b ...

  5. kube-proxy源代码分析

    摘要:假设你对kube-proxy的工作原理有一定的了解.本文基于kubernetes v1.5代码对kube-proxy的源代码文件夹结构进行了分析,并以iptables mode为例进行了完整流程 ...

  6. 〖Android〗sshd for android, 及映射根文件系统至本地盘符

    严重问题: 若移植失败将可能直接导致手机***无法开机***,导入相关文件需慎重! 达成效果: 1. ssh 远程登录 Android 终端: 2. sftp 挂载/映射 Android 根文件系统至 ...

  7. NotesDocument 作为函数返回值的问题

    如下代码 Set recipientDoc = getDocInNAB(“search string”) If Not recipientDoc Is Nothing Then ‘In debug I ...

  8. SSM框架中,配置数据库连接的问题

    MySQL数据库版本是8.0.11. 要用驱动:com.mysql.cj.jdbc.Driver 最主要的是数据库的连接url. 搞了半天才把问题搞明白: 数据库url后面要加上参数: jdbc:my ...

  9. 【转载】Mysql主从复制、和MySQL集群(主主复制)

    转载:https://www.cnblogs.com/phpstudy2015-6/p/6485819.html 请同时参考和结合这篇文件进行处理:https://blog.csdn.net/envo ...

  10. JQuery实现的 checkbox 全选;<select>下拉框功能

    1. 全选的checkbox选中时,子checkbox全部选中.反之,全部不选 2.子checkbox中,只要有没有被选中的,取消全选checkbox的选中 3.子checkbox的数量和子check ...