VB.NET和C#逐层横向对比
2009-04-30 08:27:36 来源:WEB开发网核心提示: VB的Try, Using, For, For Each等语句支持使用前边定义的变量C#的对应语句只能在语句开始处定义C#可以支持unsafe语法有限地支持指针和stack数据的访问VB不支持C#支持yield return语法的迭代器生成VB不支持C#支持delegate语句就地生成支持
VB的Try, Using, For, For Each等语句支持使用前边定义的变量
C#的对应语句只能在语句开始处定义
C#可以支持unsafe语法有限地支持指针和stack数据的访问
VB不支持
C#支持yield return语法的迭代器生成
VB不支持
C#支持delegate语句就地生成支持closure的匿名方法
VB不支持
C#支持在委托与方法结合的过程中使用协变和反边规则
VB则只能使用完全匹配规则
VB和C#的循环和分支有若干次要差别
C#支持nullable类型的运算符跨类型支持
VB需要手工完成同样功能
VB支持用实例访问类的静态成员
C#只支持类明访问
VB支持按照非虚函数的规则,调用自身类型定义的一个虚函数
C#不支持这一功能
类库层
VB有一个非常好用Microsoft.VisualBasic.dll,实现了许多帮助函数,Application Framework应用程序框架,My命名空间等
C#只能望眼欲穿了……
C#以out/ref或者大小写区分不同函数,这就是不符合CLS的。
VB的每个特性几乎都是CLS兼容的(即使是那些C#不支持的),在VB中使用不会从根本上影响到与C#的交互
更多精彩
赞助商链接