随笔 - 234, 文章 - 12, 评论 - 1671, 阅读 - 74万
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on   生鱼片  阅读(6167)  评论(18编辑  收藏  举报

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关键字用于声明一个动态对象,然后通过该动态对象去调用方法或读写属性。以前我们都是在运行时通过反射,EmitCodeDom等技术来完成。创建一个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();

        }

 

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
历史上的今天:
2008-12-09 MOSS程序中如何发Mail?
点击右上角即可分享
微信分享提示