首页 > 开发 > .Net > 正文

vb.net和c#语法比较

2020-02-03 15:26:22
字体:
来源:转载
供稿:网友
国内最大的酷站演示中心!
由于一些人对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 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表