VB.NET 中的 As New 以及型別指定
常有人以為 VB.NET 程式的執行效能不如 C#,但根據 msdn 的說法,VB.NET 和 C# 都是編譯成 MSIL 中繼語言,因此基本上以二者所寫出來的應用程式也具有相同的效能。最常導致二者在 web 應用程式中,執行效能差異的罪魁禍首,首推過去在 ASP 中用 VBScript 不須明確宣告「變數」及其「型別」的習慣。因為在 VB.NET/ASP.NET 中,沒指定 As 的變數與引數其型別將會是 Object,該型別並非效能最佳型別。
在 VB.NET 中明確地用 As 指定型別可提高效能,因為型別推斷的時機,會從執行時期提前至編譯時期,能防止源碼因疏忽導致「晚期繫結」,可避免 Common Language Runtime 被迫在執行階段去做型別檢查和成員查閱。
此外,在 VB.NET 中的:
![](/assets/blank.gif)
就是下方這一行的縮寫:
![](/assets/blank.gif)
根據 msdn 的說法,許多 VB 6 的程式員都不使用「As New」來宣告變數和產生物件 instance,因為這在 VB 6 中會降低效能。但在 VB.NET 中,As New 語法並不會降低效能,因此開發人員可以任意使用。
(本文在版工的舊 Blog 中,發表日期為 2006/05/05)
转载于:https://www.cnblogs.com/WizardWu/archive/2008/06/25/1230070.html
VB.NET 中的 As New 以及型別指定相关推荐
- vb.net中关于byval和byref的使用
在vb.net中,byval和byref使用是不同的: .NET中CLR的类型系统将对应简单值的类型同对应传统"对象"的类型区分开来. 前者被称为值类型(value type),后 ...
- VB.Net中关于数组赋值
在VB.Net中增加了一个修饰Shared.Shared 关键字指示一个或多个被声明的编程元素将被共享.要点是:共享元素不关联于某类或结构的特定实例.需要通过使用类名或结构名称或者类或结构的特定实例的 ...
- 如何在VB例程中接收自定义消息
代码 如何在VB例程中接收自定义消息 您可以用API函数SetWindowLong指定处理消息的窗口过程(window procedure)为自定义的函数WindowProc,捕获消息ID为WM_U ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- 小心VB.NET中的除运算符/和/
小心VB.NET中的除运算符"/"和"/" VB.NET中除运算符有两种,普通除"/"和整数除"/",如果我们写程序时不 ...
- vb代码大全_【必会】Rnd随机函数在VB编程中的广泛应用
大家好,今天我们共同来看一下Rnd随机函数在VB编程中的应用. VB中的Rnd随机函数 功能:产生[0,1)之间的一个随机数. 注意:包括0,但是取不到1. 如果要实现每次运行时,产生不同序列的随机数 ...
- php无符号整数转有符号整数,PHP中把有符号整型转换为无符号整型方法_PHP教程...
PHP中把有符号整型转换为无符号整型方法 这篇文章主要介绍了PHP中把有符号整型转换为无符号整型方法,转换的方法很简单,本文直接给出转换方法,需要的朋友可以参考下 在一个短地址项目中,根据六位字符与I ...
- [初级]Java中的switch对整型、字符型、字符串的具体实现细节
转载自 [初级]Java中的switch对整型.字符型.字符串的具体实现细节 Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进.到目前为止switch支持这样 ...
- VB.NET 中的ref 和C#中的ref 格式区别
今天把一个VB.NET的程序翻成C#的,在ref这堵了半天. 函数定义是这样的: Public Shared Function GetUsers(ByVal portalId As Integer, ...
最新文章
- 重视隐私信息安全,笑迎人脸识别百亿蓝海
- python知识点 07-11
- code ro rw zi 编译的一个ARM的程序,编译结果中的一句话
- Ubuntu 免密登录
- maven项目,如何导入本地jar包
- Java 1.3.1 带标签的 break语句
- myeclipse 10激活,本人已测试过可行
- python运行需要联网吗_基于python分析你的上网行为 看看你平时上网都在干嘛
- httpclient 无信任证书使用https
- 0框架前端-如何写垂侧边栏(Vertical Tabs)
- 5种回到顶部的写法从实现到增强
- 单片机c语言程序编写歌谱,单片机简谱程序
- lede usb启动_OpenWrt LEDE 自动挂载USB U盘的方法
- 数据库管理系统的未来是什么?
- 圆内接等边三角形的画法_如何画出圆的内接正三角形
- 泡泡龙游戏c语言程序,七彩泡泡龙小程序-微信七彩泡泡龙小程序小游戏v1.0-游戏宝手游网...
- 模型压缩——重参数化
- IP138 IP地址查询 php实例
- MySQL 免安装版的安装过程
- 【bzoj3698】【XWW的难题】【有上下界的网络流】
热门文章
- LeetCode 1197. 进击的骑士(BFS)
- LeetCode 356. 直线镜像
- LeetCode 616. 给字符串添加加粗标签(Trie树)
- LeetCode 1234. 替换子串得到平衡字符串(滑动窗口)
- 程序员面试金典 - 面试题 04.01. 节点间通路(图的遍历)
- 动态规划应用--双11购物凑单
- python re 匹配多行_Python正则表达式,看这一篇就够了
- Java泛型,枚举,注解
- java 流程控制篇 2021/02/26持续更新中
- jedis连接mysql_使用Jedis操作Redis数据库