ASP+所 支持的语言
蝈蝈俊 2000-07-21 11:41:00
ASP+所 支持的语言
ASP+内置支持3种语言:C#,Visual Basic(注意不是VBScript),JScript。下面列出一个简单的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
(也许是多年来用惯了C的缘故,一直喜欢C那种简练,个性化的风格,文字和符号混合使用,可以让眼睛迅速找到关键所在,避免视线被淹没在复杂的字符串中,所以即使在 ASP 时代,也是坚持使用风格类似的 JScript,现在终于……hehehe…..-讨饭猫)