.Net Framework中C#與VB常見語法差異表

常常會有人問到 VB語法轉C#語法 / C#語法轉VB語法,
當然每個人對於自已常用的語法一定是比較熟悉的,

像我原本在ASP時代是寫VBScript,後來到.Net時就轉C#了,
但是我依然是要求自已也要能夠寫VB的語法,
這樣不論在看哪種語法,都較能掌握。

雖然是這麼說,不過我常常還是會忘記啊^^|||

所以特別在這裡整理一個表,記錄一個VB與C#的對照表,

我會持續更新,有興趣的人可以加入最愛哦^^

註記:資料在放之前我會再三確認,若有錯誤請各位多多指教,感恩。

 

 

常常會有人問到 VB語法轉C#語法 / C#語法轉VB語法,
當然每個人對於自已常用的語法一定是比較熟悉的,

像我原本在ASP時代是寫VBScript,後來到.Net時就轉C#了,
但是我依然是要求自已也要能夠寫VB的語法,
這樣不論在看哪種語法,都較能掌握。

雖然是這麼說,不過我常常還是會忘記啊^^|||

所以特別在這裡整理一個表,記錄一個VB與C#的對照表,

我會持續更新,有興趣的人可以加入最愛哦^^

註記:資料在放之前我會再三確認,若有錯誤請各位多多指教,感恩。
 
資料型態
◎ Object
◎ Boolean
◎ Byte
◎ Char
◎ String
◎ Short
◎ Integer
◎ Long
◎ Single , Double
◎ Decimal
◎ Date
 
◎ object
◎ bool
◎ byte , sbyte
◎ char
◎ string
◎ short
◎ int , uint
◎ long , ulong
◎ float , double
◎ decimal
◎ DateTime
 
註解方式
'單行註解,在最前方加單引號
REM REM也是VB的單行註解,編譯器不會執行
//單行註解,在最前行方加入兩個斜線
/* 多行註解, 在最前與最後分別加入符號 */
變數宣告
◎ Dim a As Integer
◎ Dim b As Integer = 1
◎ Dim [class] As String = "使用保留字當變數"
 
◎ int a;
◎ int b = 1;
◎ string @class = "使用保留字當變數";
型別
◎ Dim a As Integer = 1
◎ Dim typea As System.Type = a.GetType()
◎ Dim typeb As System.Type = GetType(a)
 
◎ int a = 1;
◎ System.Type typea = a.GetType();
◎ System.Type typeb = typeof(a);
 
型別轉換
◎ Dim a As Integer
◎ Dim b As ClassType = DirectCast( a, ClassType )
◎ Dim c As ClassType = CType( a, ClassType )
◎ Dim d As ClassType = TryCast( a, ClassType )
※使用TryCast若轉型失敗會回傳Nothing
 
◎ int a;
◎ ClassType b = (ClassType)a;
◎ ClassType c = (ClassType)a;
◎ ClassType d = a as ClassType;
※使用as關鍵字,若轉型失敗會回傳null
 
比較運算子
=<><=>=<>
等於小於大於小於等於大於等於不等於
==<><=>=!=
等於小於大於小於等於大於等於不等於
其他運算子
◎ Dim a As Integer = 10 Mod 5  '求餘數結果為0

◎ Dim b As Boolean = Not (1>2)  //true

◎ ( 1<2 ) And ( 3>2 )  'True
 '運算式兩者皆為True則回傳True

◎ ( 1<2 ) AndAlso ( 2>3 )  'False
 '兩者皆為True則回傳True,與And的差異為
 '若第一運算式回傳False則不會執行第二運算式

◎ ( 1<2 ) Or ( 2>3 )  'True
 '兩者有一者為True則回傳True

◎ ( 1<2 ) OrElse ( 2>3 )  'True
 '兩者有一者為True則回傳True,與Or的差異為
 '若第一運算式回傳False則不會執行第二運算式

◎ Dim s As String = "字串" & "字串"  '字串相加

 
◎ int a = 10 % 5;  //求餘數結果為0

◎ bool b = ! (1>2) ;  //true

◎ ( 1<2 ) & ( 3>2 )  //true
 '運算式兩者皆為True則回傳True

◎ ( 1<2 ) && ( 2>3 )  //false
 '兩者皆為True則回傳True,與&的差異為
 '若第一運算式回傳False則不會執行第二運算式

◎ ( 1<2 ) | ( 2>3 )  //true
 '兩者有一者為True則回傳True

◎ ( 1<2 ) || ( 2>3 )  //true
 '兩者有一者為True則回傳True,與|的差異為
 '若第一運算式回傳False則不會執行第二運算式

◎ string s = "字串" + "字串";  //字串相加

 


 

連結至主網站