http://www.cnblogs.com/cavingdeep/archive/2005/08/03/206374.html,
html是静态 C#是动态

解决方案 »

  1.   

    先举个例子,javascript是动态语言,python是,目前C#不是。动态语言的特点说白了就是: 在编译的时候不确定或不知道的或没有的,在运行时可以动态的调用,动态的查询或动态的添加。比如静态语言的string abc,那么我们可以abc.ToUpper(),可以abc.Substring()等,但这些都是在编译时就必须知道的。
    如果动态语言,可以写出这样的代码:abc.SayHello(),编译并不出错,因为有无该函数要到运行时才能确定。目前C#具有一定的动态潜力,比如可以用Reflection来自我发现,用Invoke来作动态调用等,但目前C#还不被认为是动态语言(至少语法上不支持)。
    而C#4.0的预期重大改变就是动态语言的支持。到那时,或许就可以说C#有支持动态语言的特色。dynamic abc = "Obama";
    abc.SayHello();
      

  2.   

    动态语言好像是python这个吧,还有其它的。
    C#不是。
      

  3.   

    C#不是动态语言,但是MS有将.NET支持动态语言的趋势。我们现在谈的最多的是CLR,但是MS正在往DLR(Dynamic Language Runtime)方面发展,用于与当前动态语言的集成。比如Python就是动态语言,.NET下有个IronPython,有兴趣的朋友可以google一下。
    使用过python的朋友知道,在定义函数的时候,完全不需要指定参数类型,例如:def add(a, b):
        return a+b;result = add(10, 20);那么result事实上就是一个整数。result的类型根据add的返回类型而确定,这就是动态的意思,那么对于result的类型操作,在编译时也没有太多含义,因为类型是在运行时确定的。
    C# 4.0引入了dynamic关键字以实现动态的效果。
      

  4.   

    我只希望.net不要再拼命的加东西了,坐火车都赶不上啊。
      

  5.   

    C#静态强类型语言
    简单来说 需要编译的都是静态语言 不需要编译的 如javascript ,python为动态语言有类型区分的为强类型语言如C# python 不分类型的 如javascript 为弱类型语言
      

  6.   

    C#是静态语言,3.0吸收了一定动态特征,比如 匿名函数,临时类型,临时变量等
    F#是函数式语言,可能也是动态语言吧 MS正在推出的一种新语言;
      

  7.   

    C#不是动态语言...JAVASCRIPT是动态语言.