首页 - VB.NET

vb.net和c#语法比较

发布时间: 2007-04-19 03:57    作者: 未知    来源: 未知    浏览:    评论

由于一些人对vb.net和c#选择方面存在一些困惑,其实只是语法习惯问题,我把它们的语法列出来比较一下,大家有个感性认识。



1.变量声名 

C# 语法 

int x; 

String s; 

String s1, s2; 

Object o; 

Object obj = new Object(); 

public String name; 

VB语法 

Dim x As Integer 

Dim s As String 

Dim s1, s2 As String 

Dim o 'Implicitly Object 

Dim obj As New Object() 

Public name As String 





2语句 

C#: 

Response.Write("中文c#技术站"); 

VB: 

Response.Write("中文c#技术站") 



3.注释语句 

//中文c#技术站

/* 

欢迎访问

, 

中文c#技术站

*/ 



VB: 

'中文c#技术站



4.获得URL 传递的变量 

C#: 

String s = Request.QueryString["Name"]; 

String value = Request.Cookies["key"]; 

VB: 

Dim s, value As String 

s = Request.QueryString("Name") 

value = Request.Cookies("Key").Value 

5.声明属性 

C#: 

public String name { 



get { 

... 

return ...; 





set { 

... = value; 









VB: 

Public Property Name As String 



Get 

... 

Return ...; 

End Get 



Set 

... = Value; 

End Set 



End Property 

6.数组 

C# 

String[] a = new String[3]; 

a[0] = "1"; 

a[1] = "2"; 

a[2] = "3"; 

//二维数组 

String[][] a = new String[3][3]; 

a[0][0] = "1"; 

a[1][0] = "2"; 

a[2][0] = "3"; 

VB: 

Dim a(3) As String 

a(0) = "1" 

a(1) = "2" 

a(2) = "3" 



Dim a(3,3) As String 

a(0,0) = "1" 

a(1,0) = "2" 

a(2,0) = "3" 



Dim a() As String 

a(0,0) = "1" 

a(1,0) = "2" 

a(2,0) = "3" 



Dim a(,) As String 

a(0,0) = "1" 

a(1,0) = "2" 

a(2,0) = "3" 





7变量初始化 

C#: 

String s = "Hello World"; 

int i = 1 

double[] a = { 3.00, 4.00, 5.00 }; 

VB: 

Dim s As String = "Hello World" 

Dim i As Integer = 1 

Dim a() As Double = { 3.00, 4.00, 5.00 } 



8;判断语句(If 语句) 

if (Request.QueryString != null) { 

... 





VB: 

If Not (Request.QueryString = Null) 

... 

End If 



9.分支语句(case 语句) 

C#: 

switch (FirstName) { 

case "John" : 

... 

break; 

case "Paul" : 

... 

break; 

case "Ringo" : 

... 

break; 



VB: 

Select (FirstName) 

case "John" : 

... 

case "Paul" :... 

case "Ringo" : 

... 

End Select 



10 For循环语句 

C# 

for (int i=0; i<3; i++) 

a(i) = "test"; 

VB: 

Dim I As Integer 

For I = 0 To 2 

a(I) = "test" 

Next 



11 While 循环 

C#: 

int i = 0; 

while (i<3) { 

Console.WriteLine(i.ToString()); 

i += 1; 



VB: 

Dim I As Integer 

I = 0 

Do While I < 3 

Console.WriteLine(I.ToString()) 

I = I + 1 

Loop 

12 字符串连接 

C#: 

String s1; 

String s2 = "hello"; 

s2 += " world"; 

s1 = s2 + " !!!"; 

VB: 

Dim s1, s2 As String 

s2 = "hello" 

s2 &= " world" 

s1 = s2 & " !!!" 





声明事件 

C#: 

void MyButton_Click(Object sender, 

EventArgs E) { 

... 



VB: 

Sub MyButton_Click(Sender As Object, 

E As EventArgs) 

... 

End Sub 





13 声明Object 

C# 

MyObject obj = (MyObject)Session["Some Value"]; 

IMyObject iObj = obj 

VB: 

Dim bj As MyObject 

Dim iObj As IMyObject 

obj = Session("Some Value") 

iObj = CType(obj, IMyObject) 





14 数据类型转换 

C# 

int i = 3; 

String s = i.ToString(); 

double d = Double.Parse(s); 

VB: 

Dim i As Integer 

Dim s As String 

Dim d As Double 



i = 3 

s = i.ToString() 

d = CDbl(s) 





15 类的声明和继承 

C#: 

using System; 



namespace MySpace { 



public class Foo : Bar { 



int x; 



public Foo() { x = 4; } 

public void Add(int x) { this.x += x; } 

public int GetNum() { return x; } 









VB: 

Imports System 



Namespace MySpace 



Public Class Foo : Inherits Bar 



Dim x As Integer 



Public Sub New() 

MyBase.New() 

x = 4 

End Sub 



Public Sub Add(x As Integer) 

Me.x = Me.x + x 

End Sub 



Public Function GetNum() As Integer 

Return x 

End Function 



End Class 



End Namespace 



16 声明类的主函数 

C#: 

using System; 



public class ConsoleCS { 



public ConsoleCS() { 

Console.WriteLine("Object Created"); 





public static void Main (String[] args) { 

Console.WriteLine("Hello World"); 

ConsoleCS ccs = new ConsoleCS(); 









VB 

Imports System 



Public Class ConsoleVB 



Public Sub New() 

MyBase.New() 

Console.WriteLine("Object Created") 

End Sub 



Public Shared Sub Main() 

Console.WriteLine("Hello World") 

Dim cvb As ConsoleVB 

cvb = New ConsoleVB() 

End Sub 



End Class 





17 标准模块 

C# 

using System; 



public class Module { 



public static void Main (String[] args) { 

Console.WriteLine("Hello World"); 







VB: 

Imports System 



Public Module ConsoleVB 



Public Sub Main() 

Console.WriteLine("Hello World") 

End Sub 



End Module 

TAG

Smile Big Smile Surprise Stick out tongue Wink Sad Tongue Tied Indifferent Crying Embarrassed Cool Angry Angel Devil [8-|] [:#] [:-*] [:^)] [<:o)] [|-)] Yes Beer Left Hug Music Star Time Snail Pizza Automobile Umbrella Computer Storm [mo] [8o|] [^o)] [+o(] [*-)] [8-)] Coffee No Drinks [Z] Right Hug Cake Broken Heart Gift Wilted Flower Movie Dog Idea Sleep Email Travel Paradise
呢称:

加粗 斜体 下划线 链接 图片 代码 邮件地址 引用 列表

最多只能输入100个字符

Tags

SQL 数据库 asp.net C# XML 控件 .NET教程 程序 事件 数据 安全 代码 Server 客户端 验证 数据库专栏 接口 文件 Oracle DataSet 函数 DataGrid 问题 .net return C#语言 JavaScript 服务 IIS 对象 语句 windows 继承 时间 web.config 设计 开发 参数 变量 解决 字符 ADO.net 环境 VB.Net语言 web 异常 工具 服务器 计算 实例 OLEDB Application VB Word WebService insert asp net 安装 记录

精华推荐

更多

精品下载

更多