转自:http://blog.sina.com.cn/s/blog_4b04dd4a010008wt.html
1.启动工程
[VB.net]
即可以从Main方法启动
又可以直接指定从某个窗体启动
[C#]
只能从Main方法启动
2.获取启动参数
[VB.net]
可以从Main的参数获取:Sub Main(cmd() As String)
可以用Command()方法获取
可以用System.Environent.GetCommandArgs()方法获取
[C#]
能从Main的参数获取:void Main(string[] cmd)
能用System.Environent.GetCommandArgs()方法获取
3.引用命名空间
[VB.net]
即可以在工程中设置全局引用
又可以在所有类代码文件中显式引用
[C#]
只能在代码种显式引用,且所有类代码文件均要书写引用段代码
4.引入命名空间的语法
[VB.net]
即可以分行书写:
Imports System
Imports System.net
Imports System.Drawing
又可以连行书写:
Imports System , System.net , System.Drawing
[C#]
只能分行书写
using System;
using System.net;
...
5.变量及其类型的约束
[VB.net]
即可以 强制要求变量在使用前声明(Option Explicit On)
又可以 不要求事先声明变量(Option Explicit Off)
即可以 强制要求严格的类型匹配(Option Strict On)
又可以 自动类型转换、自动反射(后期绑定)(Option Struct Off)
[C#]
只能使用前先声明、强制严格类型匹配
6.代码的语句分隔符
[VB.net]
VB的语句分隔符是冒号,可以由回车符替代,如下示例:
即可以
A += 1 : For I as Int32 = 100 To 0 Step -1 : MyCollection.Add(A) : Next
又可以
A += 1
For I As Int32 = 100 To 0 Step -1
<wbr><wbr><wbr> MyCollection.Add(A)<br>
Next<br>
[C#]<br>
语句分隔符只有分号一种,无论任何时候都不能省略分隔符(分号)</wbr></wbr></wbr>
7.基本类型变量声明
[VB.net]
即可以Dim strA As String,又可以Dim strA$
即可以Dim iA As Integer,又可以Dim iA%
即可以Dim dblA As Double,又可以Dim dblA#
[C#]
只能
string strA;
int iA;
double dblA;
8.声明数组
[VB.net]
即可以 Dim bytTemp() As Byte
又可以 Dim bytTemp As Byte()
[C#]
只能
byte[] bytTemp;
9.声明立即实例化的变量
[VB.net]
即可以 Dim objColl As ArrayList = New ArrayList
又可以 Dim objColl As New ArrayList
[C#]
只能 ArrayList objColl = new ArrayList();
10.从过程中返回
[VB.net]
即可以直接 Return
又可以Exit (Sub,Function,Property ...)
[C#]
只能 return;
11.设置函数的返回值
[VB.net]
即可以 “Return 返回值”
又可以 “FunctionName = 返回值”
[C#]
只能 “Return 返回值;”
12.特殊条件的异常处理
[VB.net]
即可以
Catch ex As SomeException
<wbr><wbr> If 条件 Then ...<br>
End Try<br>
又可以<br>
Catch When 条件<br><wbr>...<br>
End Try<br>
[C#]<br>
只能<br>
catch(exception ex){<br><wbr><wbr> if(条件) ...<br>
}</wbr></wbr></wbr></wbr></wbr>
13.参数逐增的重载方法
[VB.net]
即可以
Sub (pa)
sub (Pa,Pb)
Sub (Pa,Pb,Pc)
又可以
Sub (Pa,Optional Pb, Optional Pc)
[C#]
只能
void(pa)
void(pa,pb)
void(pa,pb,pc)
14.委托的调用
[VB.net]
即可以 theDele
又可以 theDele()
又可以 theDele.Invoke()
[C#]
只能theDele();
15.事件的引发
[VB.net]
即可以RaiseEvent eventSpec(Me,e)
又可以If eventSpecevent IsNot Nothing then eventSpecevent(Me,e)
[C#]
只能 if(deleEvent != null) deleEvent(this,e);
16. 引用WIN32 API
[VB.net]
即可以Declare Function XXX Lib "user32.dll" (ByVal hWnd1 As ...
又可以
<DllImport("user32.dll",EntryPoint = "XXX")> Function XXX ...
[C#]
只能[DllImport("user32.dll", EntryPoint = "XXX"] external ...
17.事件的挂接
[VB.net]
即可以
Addhandler SomeObject.SomeEvent, Addressof SomeDelegate
Addhandler SomeObject.SomeEvent2, Addressof SomeDelegate
又可以Sub XXX () Handles SomeObject.SomeEvent,SomeObject.SomeEvent2
[C#]
只能
SomeObject.SomeEvent += XXX;
SomeObject.SomeEvent2 += XXX;
void XXX() {}
18.按名访问集合项
[VB.net]
即可以 Items("XXX")
又可以 Items!XXX
[C#]
只能 Items["XXX"]
19.全局共享(静态)类
[VB.net]
即可以 Module SomeClass
又可以
Class SomeClass
<wbr><wbr> shared sub ...<br>
[C#]<br>
只能<br>
class SomeClass{<br><wbr><wbr> static ...</wbr></wbr></wbr></wbr>
}
20.关于VB特有函数
(1)设置字符串的某部分值
[VB.net]
即可以 Mid(strT, 2, 4) = "000"
又可以 strT = strT.Substring(0, 1) & "000" & strT.Substring(4)
[C#]
只能 strT = strT.Substring(0, 1) + "000" + strT.Substring(4);
(2)取右端字符串
[VB.net]
即可以 strT = Right(strT , 4)
又可以 strT = strT.SubString(strT.Length - 4)
[C#]
只能 strT = strT.SubString(strT.Length - 4);
(3)消息框
[VB.net]
即可以 MsgBox(strMsg, MsgBoxStyle.Information Or MsgBoxStyle.OKOnly, "Test")
又可以 MessageBox.Show(strMsg, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information)
[C#]
只能 MessageBox.Show(strMsg, "Test", MessageBoxButtons.OK, MessageBoxIcon.Information);
(4)数值转换
[VB.net]
即可以CType("&H2B20", Integer)
又可以Val("&H2B20")
又可以Convert.ToInt32("0x2B20", 16)
又可以Int32.Parse("2B20", Globalization.NumberStyles.HexNumber)
[C#]
Convert.ToInt32("0x2B20", 16);
Int32.Parse("2B20", Globalization.NumberStyles.HexNumber);
21.调试断点的设置
[VB.net]
即可以在代码上设置断点
又可以 用Stop语句动态中断
[C#]
只能在代码上设置断点
分享到:
相关推荐
这篇文章主要讨论vb.net语言和c#.net语言在语法上的不同,vb.net和c#.net有一系列微妙的差异,变量的申明和赋值,数据类型,语句终止的方式,语句块的表述,使用的变量括号,操作符的不同,条件语句的不同,错误处理...
VB.net与C#的语法区别Program Structure、Comments、Data Types、Constants、Enumerations、Operators、Choices、Loops、Arrays、Functions、Strings、Exception Handling、Namespaces、Classes / Interfaces等
一款将VB.Net编写的项目转换成C#项目的工具。支持单个文件的代码转换,也支持整个项目代码转换!很好用哦!
vb.net (c#)中鼠标,键盘钩子Hook
VB.Net to C# Converter(代码转换工具) v2.23 VB.Net to C Sharp Converter 是一款将vb.net代码转化为c#代码的程序。在转化过程中,保留了原有的注释和变量名。 VB.Net to C# Converter是一款代码转换软件,将用户...
vb.net与c#.net的不同点对照 很全面
C#代码项目转换VB.NET项目代码(可整个项目转换)C#代码项目转换VB.NET项目代码(可整个项目转换)
VB.NET与C#语法比较 VB.NET、C#.NET语法 .NET
vb.net转C#,C#转vb.net,C#转boo,vb.net转boo,
C#转换成vb.net软件解压后双击ConvertCSharp2VB.exe即可使用 将c#的代码粘贴到窗口中 点击右下角Convert即可看到VB.NET的代码 正确率90%左右 !
本资源为【VB.Net to C# Converter】软件,它可以将VB代码转换成C#代码,效果很好
.net互转 vb.net转C# C#转VB.NET
不错的vb.net到C#.net的转换, 代码长度不限,准确率极高
最近收集的VB.Net-C#多线程Thread-代理委托delegate编程。文章列表: c#.net多线程同步.txt C#WebBrowser页面与WinForm交互技巧一.txt C#多线程编程-多细全.txt C#多线程编程简单实例.txt C#多线程窗体控件安全访问....
VB.Net to C# Converter 2.30 官方最新版 附带key,可将VB.net project整体转成C# project. 也可转换多个project。 带有错误检查功能。非常好用。 说明:安装程序是在官网下的,放心使用。不放心的可直接从官网下载。...
VBConversions' VB.Net to C# Converter是一款代码转换软件,将用户的VB.Net项目用C#语言重新编写。与别的转换软件不同,变量名、注释行、ad inline comments都被保留下来,代码转换的准确率超过99%。
vb.net/C#双码 获取CPU温度/主板温度/显卡温度 硬盘温度 驱动获取非wmi 源码+中文注释,vb.net+c#双码
Tangible Software Solutions 是功能齐全的源代码转换软件,可在 VB.NET、C#、Java、C++和Python之间,使用简单,功能丰富,灵活的进行选择和操作,界面友好。 C# to C++ 转换 C# to Java 转换 C# to VB 转换 C++ ...
vb.net&C#和PLC通过Modbus——TCP通讯代码;PC通过Modbus_TCP和PLC进行通讯,简单稳定
VB.NET 和 C# 语法比较,可帮助VB.NET 开发者在转身C#时,进行语法比较,加快学习进程。