C#和VB.NET语法区别

    技术2022-05-11  73

    一些人对vb.net和c#选择方面存在一些困惑,其实只是语法习惯问题,我把它们的语法列出来比较一下,大家有个感性认识。 1 变量声名  C# 语法  int x;  String s;  String s1, s2;  Object obj = new Object();  public String name;  VB语法  Dim x As Integer  Dim s As String  Dim s1, s2 As String  Dim obj As New Object()  Public name As String  2 语句  C#:  Response.Write("中文c#技术站");  VB:  Response.Write("中文c#技术站")  3 注释语句  C#:  //中文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 语句)  C#:  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 & " !!!"  13 声明事件  C#:  void MyButton_Click(Object sender,  EventArgs E) {  ...  }  VB:  Sub MyButton_Click(Sender As Object,  E As EventArgs)  ...  End Sub  14 声明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)  15 数据类型转换  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)  16 类的声明和继承  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  17 声明类的主函数  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  18 标准模块  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   

    最新回复(0)