C#新功能--命名参数

  命名参数会潜在的改变编写代码的方式.这个新功能能使代码更容易阅读和理解.

例如,看一下System.IO名称空间中的File.Copy()方法,它一般构建为

File.Copy(@"C:\mytestFile.txt",@"C:\myOtherFile.txt",true);

   在这行代码中,这个简单的方法使用3个参数,但实际传递给Copy()方法的是什么内容?除非

知道这个方法的前前后后,否则 仅看一眼该方法,很难判断出该方法会执行何种操作.而通过命名

参数,就可以在提供参数值之前使用代码中的参数名,如下所示:

File.Copy(sourceFileName: @"C:\mytestFile.txt",
                destFileName:  @"C:\myOtherFile.txt",
                overwrite:true);

    现在通过命名参数,就很容易阅读和理解这行代码将执行的操作.使用命名参数对最终的编译

没有影响,命名参数仅用在应用程序的编码中.

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

每周学点大数据 | No.32优先队列

No.32期 优先队列 Mr. 王:我们回到这个问题中,如果是在内存中,我们只需要对前面的这些点做一个拓扑排序,就可以保证每一个节点在求解时,它们的所有入度...

26910
来自专栏飞雪无情的博客

Go语言实战笔记(十)| Go 嵌入类型

嵌入类型,或者嵌套类型,这是一种可以把已有的类型声明在新的类型里的一种方式,这种功能对代码复用非常重要。

602
来自专栏数据结构与算法

洛谷P3379 【模板】最近公共祖先(LCA)(树链剖分)

题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式: 第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的...

3299
来自专栏博岩Java大讲堂

Java集合--Queue队列介绍

2908
来自专栏偏前端工程师的驿站

(cljs/run-at (JSVM. :all) "细说函数")

前言  作为一门函数式编程语言,深入了解函数的定义和使用自然是十分重要的事情,下面我们一起来学习吧! 3种基础定义方法 defn 定义语法 (defn name...

1819
来自专栏C/C++基础

基数排序简介及其并行化

  基数排序号称线性时间排序算法中性能最好,速度最快的排序算法。本文将简要概括其算法思想,串行代码及其并行化。

601
来自专栏HTML5学堂

轻松但深入的学习闭包原理 —— 曾让几乎所有JS新手痛恨的知识

HTML5学堂-码匠:这或许是你看过的,最浅显易懂的一篇关于闭包原理的讲解! 闭包的官方定义 官方定义:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通...

3236
来自专栏司想君

你不知道的Javascript:有趣的setTimeout

今天在回顾JavaScript进阶用法的时候,发现一个有趣的问题,话不多说,先上代码:

20210
来自专栏Python小屋

Python科学计算扩展库numpy中的广播运算

首先解答上一个文章Python扩展库numpy中的布尔运算中的问题,该题答案为[111, 33, 2],题中表达式的作用是按列表中元素转换为字符串后的长度降序排...

2648
来自专栏水击三千

ARCGIS接口详细说明

ArcGIS接口详细说明 目录 ArcGIS接口详细说明... 1 1.      IField接口(esriGeoDatabase)... 2 2.     ...

2976

扫描关注云+社区