VB.Net与C# 的语法比较

最近看代码或写代码时,经常把VB与C#的基本语法搞混,为方便查看,特对其异同进行对比:

變數初始化

VB.NET 自動將所有的變數初始化成 0 或 nothing。C# 在你未初始化變數之前不准你用該變數。

選擇性參數(Optional parameters)

C# 不提供函數選擇性參數,但仍可以利用重载的方法,提供选择性参数

静态方法的定义

C# 和 VB.NET 都在 Class 支援靜態方法、屬性和 fields,C#中为Static,VB.NET 稱為 Shared,例如

publicstaticvoid StaticMethod()

{

Console.WriteLine("不需要建立物件就可以呼叫");

}

PublicSharedSub ShareMethod()

Console.WriteLine("可以不建立物件來呼叫函數")

EndSub

Switch 和 Select Case 語法

在 C# 的 switch 語法讓你以某個值或語法跳到一個程式區塊。每一個區塊與一個常數值連結在一起。你可以使用多個常數值與 case 語法建立如下的程式碼

switch(i)

{

case 4:

case 5:

break;

case 6:

case 7:

break;

default:

break;

}

VB 則讓你可以組合常數或更複雜的語法,如下

SelectCase i

Case 4, 5

Case 6 To 9

CaseElse

EndSelect

不只如此,VB.NET 也讓你可以在 Select Case 語法中如同使用常數一般使用變數

傳值或傳址呼叫

所有的 VB.NET 參數都要明確地利用 ByVal 和 ByRef 宣告,C# 的參數都是傳值,除非以 ref 關鍵字宣告。

Virtual/Overridable 方法

C# 使用 Virtual 關鍵來宣告就算是參照到基礎 Class,但仍是呼叫到正確衍生類別的方法。以 override 宣告衍生的函數

VB.NET 使用 Overridable 關鍵字來宣告 virtual 函數,並需要使用 Overrides 關鍵字來宣告衍生的函數。

Abstract/MustInherit 方法

C# 用關鍵字 abstract 來標示需要由衍生 Class 來實现的方法,

VB.NET 使用 MustInherit 關鍵字來做同樣的標示(同時使用在 Class 和方法)。

Sealed/NoInheritable Classes

C# 用關鍵字 Sealed 來標示不可以被繼承的 Classs,VB.NET 以 NotInheritable 關鍵字來做相同的事。

VB.NET 支援所有的 CLS 標準資料型態,C# 增加支援無正負號的資料型態。

下表列出兩個語言的基礎型態以及是否與 CLS 相容

VB.NET C# 與 CLS 相容
Object object Y
String string Y
  sbyte N
Short short Y
Integer int Y
Long long Y
Byte byte Y
  ushort N
  uint N
  ulong N
Single float Y
Double double Y
Boolean bool Y
Char char Y
Decimal decimal Y
时间: 2024-10-16 09:21:49

VB.Net与C# 的语法比较的相关文章

VB.NET与C# 语法区别展示

在学习VB.NET后发现,VB.NET与C#的语法主要的不同在两个部分,这两部分搞通了,那就游刃有余,迎刃而解了.现将其对比总结如下: 一.实体部分 (与VB相比,在C#和VB.NET中,实体的使用很有新意,将其作为第一个对比呈现) C#实体:语法格式为 //方式 public int ID { get { return ID; } set { ID = value; } } //方式 public int ID { get; set; } VB.NET实体:语法格式为 Private stuC

vb 和vb.net的区别

源地址:http://blog.csdn.net/xjc1278003262/article/details/8805324 在随着VB.NET的 发展,大部分人都放弃使用VB6.0而选择VB.NET,下面我们就来研究一下VB6.0和VB.NET的区别.VB.NET是微软公司在2002年推出 的一种开发基于.Net平台应用程序的开发语言,也是微软公司极力推荐的一种开发.Net平台应用程序的开发语言.首先还是让我们来简单了解一下 VB.NET和其前一个版本,也是目前世界上拥有最多使用者的开发语言-

VB.NET 基础入门

 VB.NET 基础入门 之前对VB 和C#语言有相应的了解,特别是VB,进行了很长一段时间的的深入的学 习,现在开始VB.NET 基础学习,学习进度不快,很多的东西要虚心向身边的高手学习. 交流.VB.NET开始有一段时间了,自己阶段是做一个VB.NET 的宏观学习把控! 一.什么是VB.NET ?  通俗的说,VB.NET 就是VB的最新版本,他对原版本进行了一些升级和增强.他是一 个完全面向对象的语言,VB .NET是同C#也是构建于.Net framework之上的.其最大的 优势就是他

Groovy入门教程

一.groovy是什么 简单地说,Groovy 是下一代的java语言,跟java一样,它也运行在 JVM 中. 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似.同时,Groovy 抛弃了java烦琐的文法.同样的语句,使用groovy能在最大限度上减少你的击键次数——这确实是“懒惰程序员们”的福音. 二.开发环境 1.  jdk 1.5以上 2.  eclipse+groovy plugin(支持Groovy 1.5.7) 打开eclipse,通过Software

VBA在Excel中的应用(一):改变符合条件单元格的背景颜色

在使用excel处理数据的时候,为了能更清晰的标示出满足特定条件的单元格,对单元格添加背景色是不错的选择.手工处理的方式简单快捷,但是当遇到大批量数据,就会特别的费时费力,而且不讨好(容易出错).通过代码来处理是个不错的选择,excel可以通过VBA编程来处理内部数据,在打开excel页面后,可以通过“alt + F11”组合键来启动VBA编程界面,跟VB的编程界面和语法一样,需要注意的是如何调用excel的内容.VBA通过sheet, range和cells三个层次来调用excel中的制定区域

Groovy入门教程(转)

官方文档:http://www.groovy-lang.org/syntax.html# 一.groovy是什么 简单地说,Groovy 是下一代的Java语言,跟java一样,它也运行在 JVM 中. 作为跑在JVM中的另一种语言,groovy语法与 Java 语言的语法很相似.同时,Groovy 抛弃了java烦琐的文法.同样的语句,使用groovy能在最大限度上减少你的击键次数——这确实是“懒惰程序员们”的福音. 二.开发环境 1.  jdk 1.5以上 2.  eclipse+groov

【菜鸟也疯狂C#系列】——流程控制

前面两篇博客讲了C#的类字段以及类方法的定义,这篇博客主要讲一下C#的控制结构,和VB类似,用C#与VB比较的方法来学习这部分内容. 一.C#控制结构 二.VB控制结构 三.比较 C#中的控制结构和VB还是很相似的,基本结构大体上是一致的,只是语法上有些不同罢了. 选择     在C#中的If条件判断语句中,它不像VB一样,还要写end if 这个语句,直接写if --else,或if--elseif--就可以了.但是我总感觉这样很别扭,可能是习惯了VB的语法吧,觉得没有End if,就跟没执行

MVC3.0 中Razor 学习

C# 的主要 Razor 语法规则 Razor 代码封装于 @{ ... } 中 行内表达式(变量和函数)以 @ 开头 代码语句以分号结尾 字符串由引号包围 C# 代码对大小写敏感 C# 文件的扩展名是 .cshtml MVC3.0 中Razor 学习 随着MVC3.0RTM版本的发布,最近将公司的项目从MVC2.0升级到MVC3.0.同时打算在MVC3中全面使用Razor模板引擎.现将Razor学习拿出来和大家分享,如果存在不足的地方欢迎您指出. 其实在使用<%= %>在html中调用C#代

jQuery-对Select的操作集合[终结篇]

jQuery获取Select选择的Text和Value:  请选择 C# Javascript jQuery C++ Java VB 选择一项试试看语法解释:1. $("#select_id").change(function(){//code...});   //为Select添加事件,当选择其中一项时触发2. var checkText=$("#select_id").find("option:selected").text();  //获取