命名实参和可选实参 Named and Optional Arguments
1. 利用“命名实参”,您将能够为特定形参指定实参,方法是将实参与该形参的名称关联,而不是与形参在形参列表中的位置关联。
static void Main(string[] args)
{
Console.WriteLine(CalculateBMI(weight: , height: )); //实参命名
Console.WriteLine(); } static int CalculateBMI(int weight,int height)
{
return (weight * ) / (height * height);
}
有了命名实参,您将不再需要记住或查找形参在所调用方法的形参列表中的顺序。 可以按形参名称指定每个实参的形参。
下面的方法调用都可行:
CalculateBMI(height: 64, weight: 123);
命名实参可以放在位置实参后面,如此处所示。
CalculateBMI(123, height: 64);
但是,位置实参不能放在命名实参后面。 下面的语句会导致编译器错误。
//CalculateBMI(weight: 123, 64);
2. 方法、构造函数、索引器或委托的定义可以指定其形参为必需还是可选。 任何调用都必须为所有必需的形参提供实参,但可以为可选的形参省略实参。
static void Main(string[] args)
{ ExampleClass anExample = new ExampleClass(); anExample.ExampleMethod(, "One", );
anExample.ExampleMethod(, "Two");
anExample.ExampleMethod(); ExampleClass anotherExample = new ExampleClass("Provided name");
anotherExample.ExampleMethod(, "One", );
anotherExample.ExampleMethod(, "Two");
anotherExample.ExampleMethod();
anotherExample.ExampleMethod(, optionalInt: );//运用实参命名,可以跳过之前的可选实参
//anotherExample.ExampleMethod(4, 4) 这样要报错,不能中间默认跳过某几个可选实参,要依次给之前出现的可选实参赋值 } class ExampleClass { private string _name;
public ExampleClass (string name="default name") //构造函数的参数为可选实参
{
_name = name;
}
public void ExampleMethod(int reqired, string optionalstr = "default string", int optionalInt = ) //第一个为必需实参,后两个为可选实参
{
Console.WriteLine("{0}:{1},{2} and {3}", _name, reqired, optionalstr, optionalInt);
} }
命名实参和可选实参 Named and Optional Arguments的更多相关文章
- C#4.0新增功能02 命名实参和可选实参
		
连载目录 [已更新最新开发文章,点击查看详细] C# 4 介绍命名实参和可选实参. 通过命名实参,你可以为特定形参指定实参,方法是将实参与该形参的名称关联,而不是与形参在形参列表中的位置关联. ...
 - 命名实参和可选实参(C# 编程指南)
		
https://msdn.microsoft.com/zh-cn/library/dd264739.aspx CalculateBMI(weight: 123, height: 64); Calcul ...
 - 命名参数和可选参数在.NET中的使用
		
原文发布时间为:2011-04-25 -- 来源于本人的百度文章 [由搬家工具导入] Named and Optional Arguments class NamedExample{staticvoi ...
 - 有关 C# 命名参数和可选参数
		
有关 C# 命名参数和可选参数 #1.命名参数: 所谓“命名参数 ( Named Arguments )”,是指方法中定义了一些“有名字”的参数. 给方法参数命名之后,在调用方法时就可以直接根据参数名 ...
 - C#方法的六种参数,值参数、引用参数、输出参数、参数数组、命名参数、可选参数
		
方法的参数有六种,分别是值参数.引用参数.输出参数.参数数组.命名参数.可选参数. 值参数 值参数是方法的默认类型,通过复制实参的值到形参的方式把数据传递到方法,方法被调用时,系统作两步操作: 在栈中 ...
 - C#新功能--命名参数与可选参数
		
C#新功能--命名参数与可选参数 可能是篇幅太短了,又被打入冷宫了.先重发一篇加上可选参数.本来不想加这个呢,因为可选参数可能大家用的会多点.其实这 两个在VB中早就有了,在C#中,只有在.net4以 ...
 - Optional arguments
		
We have seen built-in functions that take a variable number of arguments. For example range can take ...
 - 形参和实参|默认值|可选实参|tuple|*tuple|args|*args | **kwargs|args[:]|
		
#!/usr/bin/python def hello(i,greet='long time to see!'): out = "hello "+i+" "+g ...
 - jquery function Optional Arguments
		
1.javascript 选项散列对象 function Test(p1,p2,p3,p4,p5){ //do something } call: 参数可选 Test({ p1:value1, p2: ...
 
随机推荐
- Spearman Rank(斯皮尔曼等级)相关系数及MATLAB实现
			
转自:http://blog.csdn.net/wsywl/article/details/5859751 Spearman Rank(斯皮尔曼等级)相关系数 1.简介 在统计学中,斯皮尔曼等级相关系 ...
 - Centos下编译JDK
			
因为OpenJDK是开源的,这里使用openJDK进行编译联系 环境要求 Centos6.7 64位 openjdk-7u40-fcs-src-b43-26_aug_2013.zip bootstra ...
 - 删除root子目录,如何恢复子目录配置文件
			
手贱,一不小心rm -rf 问题描述:删除/root/子目录文件(含隐藏配置文件)shell变成-bash-4.2#,如何恢复原貌 解决方法: root用户进入,自己配置相关文件:mkdir /roo ...
 - C#中快速释放内存,任务管理器可查证
			
先close() 再dispose() 之后=null 最后GC.Collect() 如: ms.Close();//关闭流,并释放与之相关的资源 ms.Dispose();//如果是流的话,默认只会 ...
 - extjs基础 使用图标字体来美化按钮)
			
下载 Font Awesome 1.拷贝css 和 fonts 到build同级目录 2.需要在index.html中引入css文件 3.在main.js文件中添加 initComponent : f ...
 - ubuntu静态IP配置
			
1. 修改配置文件/etc/network/interfacesroot@ubuntu:~# sudo gedit /etc/network/interfaces 添加以下内容:auto eth0 ...
 - Linux_Shell_Bash快捷键
			
来自为知笔记(Wiz)
 - git初体验(七)多账户的使用
			
多github帐号的SSH key切换 我有两个github帐号,一个是个人所用,一个是为公司项目所用.如果是单用户(single-user),很方便,默认拿id_rsa与你的github服务器的公钥 ...
 - css-使用line-height实现垂直居中的一些问题
			
网上都是这么说的,把line-height值设置为height一样大小的值可以实现单行文字的垂直居中.这句话确实是正确的,但其实也是有问题的.问题在于height,看我的表述:"把line- ...
 - HDFS源码分析:NameNode相关的数据结构
			
本文主要基于Hadoop1.1.2分析HDFS中的关键数据结构. 1 NameNode 首先从NameNode开始.NameNode的主要数据结构如下: NameNode管理着两张很重要的表: 1) ...