C#新功能
来源:互联网 发布:清空datagridview数据 编辑:程序博客网 时间:2024/06/04 19:05
可能是篇幅太短了,又被打入冷宫了.先重发一篇加上可选参数.本来不想加这个呢,因为可选参数可能大家用的会多点.其实这
两个在VB中早就有了,C#中,在.net4发布之前是不能使用的.看到这个比较兴奋,我想大家也有好多人不知道,所以就强烈的想与大家
分享一下.
一、命名参数
命名参数会潜在的改变编写代码的方式.这个新功能能使代码更容易阅读和理解.
例如,看一下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);
现在通过命名参数,就很容易阅读和理解这行代码将执行的操作.使用命名参数对最终的编译
没有影响,命名参数仅用在应用程序的编码中.
二、可选参数
可选参数允许为方法的一些参数提供默认值,并允许使用者重载类型,因此,即使只有一个方法,也能处理所有变体
public void test(string a, string b, int c, bool d=true,bool e=false) { }
调用:
public void invoke() { test("li", "dd",7); test("li", "dd", 7,false); test("li", "dd", 7, true,false); }
这里也可以用到上述的命名参数:
test("li", "dd", 7, e:true);
这样d参数依然可以使用默认值,如果没有命名参数,想给e赋值,必须还要给d赋值.在使用可选参数的过程中,由于命名参数的出现,更提供了许多方便.
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- C#新功能
- C#新功能
- C# 3.0新功能
- C# 6.0 的新功能
- C# 6.0 的新功能
- C# 7.0新功能
- C# 6.0 新功能Top 10
- C# 7.0 新功能代码范例
- 新功能
- c#2.0的新功能(一):泛型类
- Anders谈C# 4.0:新功能和展望
- C#语言未来需要支持的新功能
- SQL 模拟C# Trim(',') 并且增加新功能
- .Net 2.0 新功能:C#调式增强(C# Debugger Enhancements)
- C# 6.0 (C# vNext) 新功能之:Auto-Properties with Initializers
- C# 6.0 (C# vNext) 新功能之:Static Using Statements
- C# 6.0 (C# vNext) 新功能之:Declaration Expressions
- C# 6.0 (C# vNext) 新功能之:Null-Conditional Operator
- 多线程--使单线程程序多线程化
- jquery 学习笔记
- 使用SQLiteOpenHelper和单例模式操作SQLite数据库
- 多态性----vptr----vtable
- Java中发送结构体struct(xml字符串及包体长度) 到C/C++[正解]
- C#新功能
- js 判断数组中是否有重复值
- 【Oracle】truncate,delete,drop的异同点
- HDOJ 1554 Pairs of integers
- entry-armv.s
- maven学习
- vector的成员函数resize分析
- Android开发入门之第一个android程序
- sockaddr与sockaddr_in结构体简介