C#与VB.NET写法上的区别

起因

入职了一家维护15年前的VB项目的公司,一个只会C#的程序员被迫学会VB.NET,废话不多说,我这里只会列出我发现的代码写法上的区别,(效率和理论我才不管呢),我会长期更新我发现的写法上的区别,重点强调VB的不同点,因为相信绝大多数都会C#

C#与VB.NET写法上的区别

1.注释

  • C#://这么写注释
  • VB:‘‘这么写注释 单一个引号也能写注释 ‘’中文引号也能写注释

2.变量定义

  • C#: string a = ""
  • VB:Dim a As String注意区别大小写

3.变量定义

  • C#: string a = ""
  • VB:Dim a As String

4.字符串拼接的区别

  • C#:"a" + b + "c"
  • VB:"a" & b & "c"值得注意的是,VB中也可以使用+号

5.int的区别

  • C#:int long之类的整数类型
  • VB:Integer数据范围是-32768-32767,所占字节数为2

6.引入命名空间的区别

  • C#:using System.Data
  • VB:Imports System.Data

7.for循环的区别

  • C#:
for(int i = 0;i<list.Count;i++){ //循环内容}
  • VB:
For i = 0 To list.Count - 1 ‘‘循环内容Next

8.swechi的区别

  • C#:
 switch (action) { case "a": A(); break; case "b": B(); break; }
  • VB:
 Select Case action Case "a" A() Case "b" B() End Select

9.if的区别

  • C#:
 if(true){ //代码1 }else if(true){ //代码2 }
  • VB:
 If True Then ‘‘代码1 ElseIf True Then ‘‘代码2 End If

10.不等于的区别

  • C#:
 if(a!=0){}
  • VB:
 If a<>0 Then End If

11.相等的区别

  • C#:
 if(a==0){}
  • VB:
 If a.Equals(0) Then End If

12.判断空值的区别

  • C#:
 if(a==null){}
  • VB:
 If a.Equals(DBNull.Value) Then ‘‘VB不能直接null取空值 End If

13.继承的区别

  • C#:
 Public Class 子类:父类
  • VB:
 Public Class 子类 Implements 父类

14.匿名对象的区别

  • C#:
 context.Response.Write(JsonConvert.SerializeObject(new { code = 1, msg = "成功", }));
  • VB:
 context.Response.Write(JsonConvert.SerializeObject(New With { Key .code = 1, Key .msg = "已驳回" }))

语言转换器

我是在接触第二门开发语言之后才知道,原来还有语言转换器这么神奇的东西,看来以后转java不是梦
附上 C#与VB.NET的转换器地址

https://converter.telerik.com/

相关文章