惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

I
InfoQ
F
Full Disclosure
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
T
Threatpost
AWS News Blog
AWS News Blog
The GitHub Blog
The GitHub Blog
G
GRAHAM CLULEY
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Palo Alto Networks Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Latest news
Latest news
S
SegmentFault 最新的问题
C
Cisco Blogs
T
Tenable Blog
爱范儿
爱范儿
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Securelist
S
Schneier on Security
博客园 - 三生石上(FineUI控件)
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Microsoft Azure Blog
Microsoft Azure Blog
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
IT之家
IT之家
博客园_首页
C
Cyber Attacks, Cyber Crime and Cyber Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
K
Kaspersky official blog
aimingoo的专栏
aimingoo的专栏
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
P
Privacy International News Feed
腾讯CDC
A
About on SuperTechFans
Y
Y Combinator Blog
月光博客
月光博客
C
Check Point Blog
Last Week in AI
Last Week in AI
Know Your Adversary
Know Your Adversary
Hugging Face - Blog
Hugging Face - Blog
U
Unit 42
WordPress大学
WordPress大学
T
The Exploit Database - CXSecurity.com
H
Hacker News: Front Page
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
V
Vulnerabilities – Threatpost
Cyberwarzone
Cyberwarzone
L
LINUX DO - 热门话题
MongoDB | Blog
MongoDB | Blog
T
Troy Hunt's Blog

博客园 - deerchao

Unity 在平面上播放含透明通道的视频(Play video with alpha channel on plane in unity) 域名迁移 错误721 -- 在虚拟机中连接VPN, 显示验证用户名和密码之后出错 - deerchao 繁体编码文本文件转换为简体编码的工具 生成VB多行字符串常量的工具 64位虚拟机Guest OS安装错误:0xC0000225 在64bit Win2008上运行Asp + Access网站 工具: 删除Visual Studio项目中文件链接,并把原文件复制到相应的目录 一个代表年月的类YearMonth Tip: Resharper 中 "Unknown Comment" 问题的解决办法 Struct与赋值 Tips 测试ConnectionString是否能连接上数据库服务器 奇怪的TreeView(WinForms)自动选中问题 MapPath的反函数(Reversing MapPath) A fast object clone class - using Expression.Compile() jQuery.combobox, 给文本框添加下拉选项的轻量级插件 CDTray, 打开,关闭光驱的系统托盘程序 jQuery.Excel, 使用Ctrl+方向键/Home/End在input表格中移动
From C# to VB
deerchao · 2009-11-14 · via 博客园 - deerchao

注:C#3.0, VB9.0

这里只是一些比较容易弄不清的地方,其它关键字的差异(比如abstract 和 MustInherit之类的)相信都是很简单的了.

  • 模块(Module): 模块就是C#里的静态类,但是,在同一命名空间里的其它类型里,调用模块里定义的方法不需要加模块类的名称.比如 AAA.BB.XXModule有个M()方法,则在AA.BB.XXXXClass里可以直接写: M(),而不用写XXModule.M()
  • 数组声明: Dim a = new Int() {1, 2, 3} ,或者: Dim a(3) As Integer
  • 方法:分为两种,有返回值的叫Function,无返回值的叫Sub
  • 声明Function或Property时可以不指定类型(As Type), 默认为Object类型
  • 类型转换: C#: var a = (TypeName)b; VB: Dim a = DirectCast(b, TypeName) C#: var a = b as TypeName; VB: Dim a = TryCast(b, TypeName)
  • 类型:C#: typeof(TypeName) VB: GetType(TypeName)   C#: a is TypeName VB: TypeOf a is TypeName
  • 操作符:/返回的是带余数的结果(CInt(46/10) = 5),\返回不带余数的结果, Mod返回余数; VB有 +=, *=等运算符,没有 ++, --等运行符
  • 对象初始化表达式: Dim a = new XX with {.Property1 = value1, .Property2 = value2}
  • 源码组织:VB里一个语句要放在一行;可以用" _"放在行尾把两行视为逻辑上的一行;语句结尾不要加分号;
  • 不使用方括号:VB里数组存取,含参属性等都用圆括号(),不用方括号[], 应用属性Attribute时用尖括号<>
  • 泛型:C#: List<string> VB: List(Of String)
  • 字符串连接:VB里用 & 来连接字符串( 1 & "2" = "12", 1 + "2" = 3)
  • 字符串:没有C#里的@""的对应物;字符转义只支持""转意成"; 换行符等无法直接输入
  • Lambda表达式: C#版: x => x.Property; VB版: Function(x) x.Property
  • 等同性: C#: x == b VB: x = b(如果有重载=操作符的话,Object类重载的不算) C#: ReferenceEqual(a, b)   VB: a is b

posted on 2009-11-14 10:58  deerchao  阅读(720)  评论()    收藏  举报