您的位置:首页 > 编程语言 > VB

C#和VB.NET语法区别

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

1 变量声名

C# 语法

int x;

String s;

String s1, s2;

Object obj = new Object();

public String name;

VB语法

Dim x As Integer

Dim s As String

Dim s1, s2 As String

Dim obj As New Object()

Public name As String

2 语句

C#:

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

VB:

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

3 注释语句

C#:

//中文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 语句)

C#:

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 & " !!!"

13 声明事件

C#:

void MyButton_Click(Object sender,

EventArgs E) {

...

}

VB:

Sub MyButton_Click(Sender As Object,

E As EventArgs)

...

End Sub

14 声明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)

15 数据类型转换

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)

16 类的声明和继承

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

17 声明类的主函数

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

18 标准模块

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: