C#开发的初衷是一个相对简单的语言,虽然现在有走向复杂的趋势(.NET2.0中支持了范型,匿名方法等等),但始终不能和C++相比,因为所处领域所针对的开发层面是不同的。所以你不可能要求C#和C++一样。我甚至可以抱怨,C#怎么不支持template,怎么不支持编译时刻的范型,怎么不支持类的多重继承等等……

解决方案 »

  1.   

    关于 Default Parameters, 你可以下载一个 msdn tv, 是 Anders Hejlsberg 一次非正式的白板现场演示。 里面他提到了不支持这个的原因。
      

  2.   

    我们项目组长严禁我们使用省略参数的函数 haiwangstar(南河三(信为万事之本)) 说的很对默认参数有时会隐藏错误.C#中你完全可以用函数重载实现.
      

  3.   

    默认参数是有可能造成隐藏错误
    但是,不支持如果你用过C#生成OFFICE文件,就知道了没有默认参数是一个多么另人讨厌的事情
    比如DOC.SAVE,如果是用VB.NET,将会非常简单,而用C#你就要把所有的参数都给一个值,否则会出错的。这还可以,最令讨厌的是,OFFICE各个版本间的方法参数不同……,我在OFFICE2000的机器上写的程序,在OFFICE XP的机器编译就会出错……
      

  4.   

    你们都这这里灌水,我可以很负责的告诉你,CSDN很生气,后果很严重
      

  5.   

    你可以用函数 参数重载来解决这个问题啊?
    void FunA(int a)
    {
        FunA( int a, 2);
    }
    void FunA( int a, int b)
    {
    }
      

  6.   

    楼主转VB.net吧,不但支持缺省参数,而且支持带参数的属性
    Private Function XXXX(A as Integer, _
                 Optional B as String = "C#=垃圾", _
                 Optional C as Boolean= True)
    ...
    End Function
      

  7.   

    .NET 2.0的快速开发更方便了,但是效果还是那样。
    目前的C#(.NET 1.1)面向的是事务应用层开发。
    所以在其他方面,比如及时、控制、图形方面,不能要求太高。
      

  8.   

    ms的广告说用了.net就不需要加班了,事实是我加班加的更多了
      

  9.   

    我觉得这个才是C#的一大败笔~! 
    http://community.csdn.net/Expert/topic/3705/3705960.xml?temp=.0482294
      

  10.   


    I 服了 YOU
    着明明是VS.NET的败笔吗
    怎么能说成是C#的呢
    郁闷