转贴(天极论坛):vb.net和c#语法比较

转载 2004年07月16日 16:07:00
由于一些人对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 

vb.net和c#的语法比较

学习三层有相当一段时间了,一直都在用c#练习。现在要开始vb.net版机房
  • u010773667
  • u010773667
  • 2014年05月17日 22:17
  • 1264

VB.NET and C# 的语法区别举例

VB.NET and C# Comparison This is a quick reference guide to highlight some key syntactical differen...
  • zhangyubishoulin
  • zhangyubishoulin
  • 2014年10月07日 13:25
  • 2328

c++、c#、Python、GO语言基本语法比较

c++、C#、Python、GO语言基本语法比较
  • sdhongjun
  • sdhongjun
  • 2015年10月07日 17:15
  • 1435

VB.NET与C#之间的比较

在网上经常能看到一些评论和比较C#、VB.net优劣的文章。其中绝大多数都认为:VB.net没有它存在的必要,VB.net迟早要被C#取代。确实,计算机语言不是很重要的,也许讨论它有点无聊。所以还希望...
  • irix2008
  • irix2008
  • 2013年09月29日 10:14
  • 1308

VB.NET和C#之比较

一、语言的人性化区别    例1. 声明变量时: C#:  int    iTest   ; //很直接 VB.net:Dim    iTest    As    Integer ‘很委婉 虽然声明相...
  • u012788601
  • u012788601
  • 2015年01月18日 11:13
  • 1355

比较著名的.net技术论坛名称(含国外的)

比较著名的.net技术论坛名称(含国外的)  名称:快速入门 地址http://chs.gotdotnet.com/quickstart/ 描述:本站点是微软.NET技术的快速入门网站,我们...
  • s_bamboo
  • s_bamboo
  • 2014年11月18日 23:23
  • 879

vb.net和c#的区别

用vb.net和c#都有一段时间了,虽然知道其中不仅仅只有语法的差异,但一直没时间一一研究到底有哪些不同,今天突然在网上看到一网友提供了此心得,遂转载。 //全局层 VB支持Module,是一种全...
  • cooska
  • cooska
  • 2013年01月10日 15:04
  • 4306

vb.net正则表达式快速入门(3)完

作者:lzmtw   10.选择符 正则表达式中“ ¦”表示选择。 你可以用选择符匹配多个可能的正则表达式中的一个。如果你想搜索文字“cat”或“dog”,你可以用 > 。如果...
  • dzweather
  • dzweather
  • 2015年01月17日 16:28
  • 1319

VB.NET与C# 语法区别展示

在学习VB.NET后发现,VB.NET与C#的语法主要的不同在两个部分,这两部分搞通了,那就游刃有余,迎刃而解了。现将其对比总结如下: 一、实体语法 C#实体: VB.NET实体: 二、方法(函数)语...
  • wangqingbo0829
  • wangqingbo0829
  • 2014年09月30日 21:22
  • 1191

黑马程序员_C#中几种比较字符串的方法比较

参数有几种,各自以
  • taotaoyang_888
  • taotaoyang_888
  • 2014年05月06日 21:04
  • 684
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:转贴(天极论坛):vb.net和c#语法比较
举报原因:
原因补充:

(最多只允许输入30个字)