C#和VB.NET的区别

2016-01-29 12:54 14 1 收藏

C#和VB.NET的区别,C#和VB.NET的区别

【 tulaoshi.com - ASP.NET 】


都说在.NET里,.NET framework和CLR是应用运行的基础。那么VB.NET和C#是不是就完全一样,只是语法不同吗?请看我整理的资料。


一、C#


--- 像VB一样简单,像C++一样强大的新语言


C#是第一流的面向组件的语言
由 Turbo Pascal, Delphi, and Visual J++的首席设计师Anders Hejlsberg 倾心3年设计
所有的语言元素都是真正的对象
开发强壮和可重用的软件
所有的.NET Framework中的基类库(Base Class Library)都由C# 编写



二、VB.NET


--- 完全面向对象的BASIC语言


1.新语言特性
完全面向对象– 继承(Inheritance), 重载(overloading), 共享的成员, 结构化异常处理
强壮的语言 – 严格的类型检查, 变量声明时初始化,支持垃圾收集(Garbage collection)
强大 – 支持委托(Delegates), free threading,Variant 数据类型被 Object 代替
2.与VB6一致的语法



三、2者的区别?

1.语法上的差异

例如循环的写法

VB.NET
For I = 1 To 10
‘ for loop
Next I

C#

For (i=1;i<11;i++) {
// for loop
}


另外Visual Basic 对大小写不敏感,而C#是大小写敏感的。

2.C# 具有但 Visual Basic 不具有的特性

指针, 移位操作符, 内嵌的文档(XML)
重载操作符

3.Visual Basic具有但 C# 不具有的特性


更丰富的语法: Events, Try…Catch, Select…Case, 实现 Interface
后期绑定(Late binding), 动态数组, 模块(modules), 可选参数, 参数属性(parameterized properties)
后台编译

来源:http://www.tulaoshi.com/n/20160129/1488027.html

延伸阅读
标签: vb
二、语法 很久以来,VB因为缺乏完善的面向对象支持、缺乏高效的错误处理机制和性能表现不佳,因而一直受到某些人的嘲笑。VB.NET将彻底改变这种情况。然而,VB.NET在这些方面的改进也要付出代价,许多旧的代码需要手工进行转换才能在VB.NET下运行。 下面几个表格总结了VB.NET语言在语法上的改动之处。注意这些表格并没有完全列出所有...
标签: vb
前言 大约到2001年的第4季度,Visual Basic的下一个版本Visual Basic.NET将会正式发行。新版的Visual Basic.NET拥有许多VB开发者以前只能梦想的新功能和新特色。同时,成长和发展也意味着付出一定的代价,新的Visual Basic.NET中有许多东西需要重新学习,一些细微的变化很可能带来出乎意料的麻烦。 Microsoft .NET平台所包含的内容非...
标签: vb
三、完善的面向对象支持 VB.NET提供了完善的面向对象编程支持,是一种真正的OO语言。 完善的面向对象支持应该包括封装(Encapsulation),继承(Inheritance)和多态性(Polymorphism)。当前的VB6已经部分地实现了这些支持,但仍因某些地方未能符合标准而受到责难。 封装是指对象只显露公用的方法和属性。VB6已经提供了健壮的...
这是一个使用VB.net开发拖动无边框的窗体,以下为源代码,朋友们可以参考一下。 '****************************************** Private oOriginalRegion As Region = Nothing ' 用于窗体移动 Private bFormDragging As Boolean = False Private oPointClicked As Point '**********************************...
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing If MsgBox("請注意看關閉的視窗", MsgBoxStyle.Question + MsgBoxStyle.OKCancel, "關閉") = MsgBoxResult.OK Then Dim d As Double For d = 1 To 0 + 0.2 Step -0.2 System.Threading.Thread.Sleep(50) Applic...

经验教程

658

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部