VB.NET和C#逐层横向对比[2]

 我来答
新科技17
2022-11-06 · TA获得超过5903个赞
知道小有建树答主
回答量:355
采纳率:100%
帮助的人:74.8万
展开全部

   //函数层

  VB支持局部Static变量

  C#不支持

  VB支持数组的最后一唯大小可变

  C#的数组大小不能改变

  VB的Try Catch语句支持Exit Try直接进入Finally

  C#无类似语句

  VB的Catch可以带When子句 使用 NET的异常filter功能有选择的进行捕获

  C#完全不支持这一功能

  VB可以使用传统的On Error方法 非结构化地处理异常  C#仅支持结构化

  C#支持使用checked语句暂时打开或关闭整数溢出检查

  VB仅支持整个项目级别处理

  VB支持使用函数名作为返回变量 也支持Return

  C#只支持Return

  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#的交互

lishixinzhi/Article/program/net/201311/15508

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式