找回密码
 注册
搜索
热搜: 回贴

vb.net和c#语法比较

2009-12-13 13:55| 发布者: admin| 查看: 72| 评论: 0|原作者: 情殇

☆由于一些人对vb.net和c#选择方面存......


由于一些人对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

最新评论

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 15:28 , Processed in 0.080470 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部