1.可选参数

可以为方法的参数设置一个默认值,如下:

class Program

{

static void Main(string[] args)

{

Show();

Show("cary");

Console.ReadLine();

}

public static void Show(string msg = "")

{

Console.WriteLine("Hello {0}",msg);

}

}

2.命名参数

上面的Show方法可以象下面的方式调用:

Show(msg:"cary");

当你的方法有多个同一类型的可选参数(optional parameters)时,命名参数(Named parameters)特别有用。如果不用命名参数,编译器就不知道传递的是哪个参数。

3.Dynamic 特性

dynamic关键字用于声明一个动态对象,然后通过该动态对象去调用方法或读写属性。以前我们都是在运行时通过反射,Emit,CodeDom等技术来完成。创建一个dynamic类型的对象需要使用一个特殊的构建器叫ExpandoObject。

class Program

{

static void Main(string[] args)

{

dynamic person = new ExpandoObject();

person.Name = "cary";

person.Age = 25;

person.ShowDescription = new Func<string>(() => person.Name + person.Age);

Console.WriteLine(person.Name+person.Age+person.ShowDescription());

Console.ReadLine();

}

转载于:https://www.cnblogs.com/gjhjoy/p/3573567.html

C#4.0新特性:可选参数,命名参数,Dynamic相关推荐

  1. 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数

    [索引页] [源码下载] 精进不休 .NET 4.0 (4) - C# 4.0 新特性之命名参数和可选参数, 动态绑定(dynamic), 泛型协变和逆变, CountdownEvent, Barri ...

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

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

  3. Oracle 11.2.0.2新特性——用户重命名(Rename User)

    11.2.0.2里新增了一个很有意思的新特性--用户重命名(Rename User),以前俺们都是Rename datafile呀,tablespace呀,Index呀,抑或是constraint之类 ...

  4. C#6.0,C#7.0新特性

    C#6.0,C#7.0新特性 C#6.0新特性 Auto-Property enhancements(自动属性增强) Read-only auto-properties (真正的只读属性) Auto- ...

  5. Servlet 3.0 新特性概述

    Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE 6 规范体系中一员,随着 Java EE 6 规范一起发布.该版本在前一版本(Servlet 2.5)的基础上提供了若 ...

  6. 【收藏】C# 2.03.0新特性总结

    c#2.0新特性 范型 我们知道通用的数据结构可以采用object存储任何数据类型.使用object问题是: 显示的强制转带来的代码复杂性 换装箱拆箱的性能损失(为什么有性能损失?因为涉及动态内存分配 ...

  7. Servlet 3.0 新特性详解

    https://www.ibm.com/developerworks/cn/java/j-lo-servlet30/ Servlet 3.0 新特性概述 Servlet 3.0 作为 Java EE ...

  8. hadoop3.0新特性介绍

    hadoop3.0新特性介绍 1. 基于jdk1.8(最低版本要求) 2. mr采用基于内存的计算,提升性能(快spark 10倍) 3. hdfs 通过最近black块计算,加快数据获取速度(块大小 ...

  9. PHP 7.0+新特性

    php7.0至php7.3的新特性和一些变化 PHP7.0 PHP7.0新特性 1. 组合比较符 (<=>) 组合比较符号用于比较两个表达式.当$a小于.等于或大于$b时它分别返回-1.0 ...

最新文章

  1. 其他算法-比例风险回归模型
  2. DbgPrint 函数流程分析
  3. java maven compiler设置默认1.8
  4. 技术人员应该如何培养
  5. Effective Java(1)-创建和销毁对象
  6. apache.commons.lang.StringUtils 使用心得
  7. c语言竞赛成绩排序,吧内编程竞赛:成绩公布
  8. 如何看计算机几核,windows7系统怎么看CPU是几核的?win7查看CPU是几核的方法
  9. httphandler防图片盗链
  10. html5 遮罩动画,JavaScript仿flash遮罩动画效果
  11. 彻底卸载2345系列
  12. 性能服务器漫画免费下拉式,热浪漫画_斗破苍穹漫画免费下拉式
  13. 【文摘】2008年度_Atom处理器
  14. windows 2008 server 服务器远程桌面连接会话自动注销,在服务器上开掉的软件全部自动关闭的解决办法...
  15. win10电脑耳机插上突然没音(已解决)
  16. 定制嵌入式主板需要考虑的功能
  17. WiFi_WiFi6和WiFi5区别
  18. data-toggle,data-target,data-dismiss
  19. atk-paj7620手势传感器驱动
  20. ananconda离线安装.tar.bz2包

热门文章

  1. 支持向量机的前世与今生
  2. 牛人整理的统计学教材
  3. linux waitpid子进程,关于waitpid()函数的问题,为什么最后子进程没退出来啊?...
  4. JAVA偏向锁的什么时候释放_​java偏向锁,你还没上车,它就要被去掉了
  5. 汇编学习--7.9--寄存器
  6. 纯新手DSP编程--5.18--调试
  7. 分布式文件系统_新一代分布式文件系统XGFS揭秘——元数据服务
  8. java实现打印功能_Js 打印功能的实现(Java)
  9. mvn dependency命令
  10. Hive启动的三种方式