VB与C#语法区别类比

1.变量声名
C# :
int x;
String s;
String s1,s2;
Object obj;
Object obj = new Object();
public String name;
VB语法
Dim x As Integer
Dim s As String
Dim s1,s2 As String
Dim obj 'Implicitly Object
Dim obj As New Object()
Public name As String


2语句
C#:
Response.Write("123456");
VB:
Response.Write("123456")

3.注释语句
//这是c#注释
/*
C#的多行注

*/

VB:
'这是VB的注释

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[10];
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(10) 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) = "3"

Dim a(,) As String
a(0,0) = "3"


7.变量初始化
C#:
String s = "Hello World";
int i = 10;
double[] a = { 3.14,4.53,5.10 };
VB:
Dim s As String = "Hello World"
Dim i As Integer = 10
Dim a() As Double = { 3.14,5.10 }

8.判断语句(If 语句)
if (i!=10) {
...
}

VB:
If Not (i=10)
...
End If

9.分支语句(case 语句)
C#:
switch (a) {
case 0 :
...
break;
case 1 :
...
break;
case 2 :
...
break;
}
VB:
Select (a)
case 0 :
...
case1 :
...
case 2 :
...
End Select

10 .For循环语句
C#
for (int i=0; i<10; i++)
a(i) = i;
VB:
Dim I As Integer
For I = 0 To 10
a(i) = i
Next

11. While 循环
C#:
int i = 0;
while (i<10) {
Console.WriteLine(i.ToString());
i ++;
}
VB:
Dim I As Integer
I = 0
do while I < 10
Console.WriteLine(I.ToString())
I = ++
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["XiaoYear"];
IMyObject iObj = obj
VB:
Dim bj As MyObject
Dim iObj As IMyObject
obj = Session("XiaoYear")
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 A : B {
int x;
public F() { x = 10; }
public void Add(int x) { this.x += x; }
public int GetNum() { return x; }
}
}

VB:
Imports System
Namespace myspace
Public Class A : Inherits B
Dim x As Integer
Public Sub New()
MyBase.New()
x = 10
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

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...