ASP+ 支持的 C# 和 VB 语法对照表
C# 语法 | VB 语法 |
定义变量 | |
int x; String s; String s1, s2; Object o; Object obj = new Object(); public String name; | 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 |
输出内容 | |
Response.Write("foo"); | Response.Write("foo") |
注释 | |
// This is a comment /* This is a multi-line comment */ | ' This is a comment ' This ' is ' a ' multi-line ' comment |
读取数据集合数组 | |
String s = Request.QueryString["Name"]; String value = Request.Cookies["key"]; | Dim s, value As String s = Request.QueryString("Name") value = Request.Cookies("Key").Value 'Note that default non-indexed properties 'must be explicitly named in VB |
定义简单数据集 | |
public String name { get { ... return ...; } set { ... = value; } } | Public Property Name As String Get ... Return ...; End Get Set ... = Value; End Set End Property |
数组 | |
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"; | 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" ' Array of unspecified bounds (NA in C#) 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" |
初始化变量 | |
String s = "Hello World"; int i = 1 double[] a = { 3.00, 4.00, 5.00 }; | Dim s As String = "Hello World" Dim i As Integer = 1 Dim a() As Double = { 3.00, 4.00, 5.00 } |
If 结构 | |
if (Request.QueryString != null) { ... } | If Not (Request.QueryString = Null) ... End If |
Case 结构 | |
switch (FirstName){ case "John" : ... break; case "Paul" : ... break; case "Ringo" : ... break; } | Select (FirstName) case "John" : ... case "Paul" : ... case "Ringo" : ... End Select |
For 循环 | |
for (int i=0; i<3; i++) a(i) = "test"; | Dim I As Integer For I = 0 To 2 a(I) = "test" Next |
While 循环 | |
int i = 0; while (i<3) { Console.WriteLine(i.ToString()); i += 1; } | Dim I As Integer I = 0 Do While I |
字符串操作 | |
String s1; String s2 = "hello"; s2 += " world"; s1 = s2 + " !!!"; | Dim s1, s2 As String s2 = "hello" s2 &= " world" s1 = s2 & " !!!" |
事件处理 | |
void MyButton_Click(Object sender, EventArgs E) { ... } | Sub MyButton_Click(Sender As Object, E As EventArgs) ... End Sub 注意 ByVal 在VB中是省缺参数 |
对象操作 | |
MyObject obj = (MyObject)Session["Some Value"]; IMyObject iObj = obj | Dim bj As MyObject Dim iObj As IMyObject obj = Session("Some Value") iObj = CType(obj, IMyObject) |
类型转换 | |
int i = 3; String s = i.ToString(); double d = Double.Parse(s); | Dim i As Integer Dim s As String Dim d As Double i = 3 s = i.ToString() d = CDbl(s) ' 参见 CDbl(...), CStr(...), ... |
类定义和继承 | |
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; } } } // csc /out:librarycs.dll /t:library library.cs | 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 ' vbc /out:libraryvb.dll /t:library library.vb |