(编码必备,整理简洁版当手册用)vb.net和c#语法比较

来源:互联网 发布:linux运维笔试题 编辑:程序博客网 时间:2024/03/28 20:01

 

(编码必备,整理简洁版当手册用)vb.netc#语法比较

 

vb.netc#语法比较

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

 

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()

 

M

yBase.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