c#4.0的新特性“缺省参数”
今天早上,刚刚看了一篇文章,谈到了缺省函数。这不就是跟JavaScript的缺省参数很相似么。
然后怀着期待的心情看下去,果然,有点类似JavaScript,但是没有JavaScript这么灵活,缺省函数有几个限制:
1,缺省参数必须放在普通参数的后面
2,缺省参数的默认值必须是常量
不过就算是有这两个限制,以后写代码的时候方便很多了,不用写一大堆的重载函数,可以写一个函数就可以囊括全部
以下是缺省参数的实现:
实现:
static void TestMethod(string foo, string bar = "Bar", string baz="Baz") { Console.WriteLine("{0, -5} - {1, -5} - {2, -5}", foo, bar, baz); }
使用:
static void Main(string[] args) { TestMethod("Foo"); TestMethod("Foo", "Bar1"); TestMethod("Foo", "Bar1", "Baz1"); }
输出结果:
1: Foo - Bar - Baz 2: Foo - Bar1 - Baz 3: Foo - Bar1 - Baz1