用google搜索一下“c# support default parameter”,就会发现一些大牛的文章解释为什么C#不支持默认参数。
我个人的理解是:理由是有的,但是很牵强。他们的逻辑就像:电会电死人,所以我们要禁止用电。
没有了默认参数,真正写代码的时候很不方便,不得不一遍又一遍做copy/paste的重复工作。尤其是和COM组件打交道的时候,没有默认参数简直是噩梦。而VB.NET语言支持默认参数,书写代码非常方便。
考虑到前面写的一些C#疑惑,最近已经开始考虑移民为VB.NET用户了。
后记:
好消息,新的C# 4.0开始支持default parameter了!让那些牵强附会的文章见鬼去吧。