以往,开发人员喜欢使用 Visual Basic、VBScript 和 JScript 的原因之一就是它们所谓“无类型”的性质。变量不需要显式类型声明,并能够简单地通过使用来创建它们。当从一个类型到另一个类型进行分配时,转换将自动执行。不过,这种便利会大大损害应用程序的性能。
Visual Basic 现在通过使用 Option Strict 编译器指令来支持类型安全编程。为了向后兼容,默认情况下,ASP.NET 不启用该选项。但是,为了得到最佳性能,强烈建议在页中启用该选项。若要启用 Option Strict,请将 Strict 属性包括在 @ Page 指令中,或者,对于用户控件,请将该属性包括在 @ Control 指令中。下面的示例演示了如何设置该属性,并进行了四个变量调用以显示使用该属性是如何导致编译器错误的。

<%@ Page Language="VB" Strict="true" %>
<%
Dim B
Dim C As String

' This will cause a compiler error.
A = "Hello"
' This will cause a compiler error.
B = "World"
' This will not cause a compiler error.
C = "!!!!!!"
' But this will cause a compiler error.
C = 0
%>

  JScript .NET 也支持无类型编程,但它不提供强制早期绑定的编译器指令。若发生下面任何一种情况,则变量是晚期绑定的:

  被显式声明为 Object。
  是无类型声明的类的字段。
  是无显式类型声明的专用函数或方法成员,并且无法从其使用推断出类型。
  最后一个差别比较复杂,因为如果 JScript .NET 编译器可以根据变量的使用情况推断出类型,它就会进行优化。在下面的示例中,变量 A 是早期绑定的,但变量 B 是晚期绑定的。

var A;
var B;

A = "Hello";
B = "World";
B = 0;

  为了获得最佳的性能,当声明 JScript .NET 变量时,请为其分配一个类型。例如,var A : String。

在 Visual Basic .NET 或 JScript 代码中使用早期绑定相关推荐

  1. 防止对 Visual Basic .NET 或 C# 代码进行反相工程

    发布日期: 12/28/2004 | 更新日期: 12/28/2004 Gabriel Torok和 Bill Leach 本文假设您熟悉 .NET 与 C# 摘要 .NET 体系结构的优势之一在于, ...

  2. EXCEL开发工具Visual Basic文字转拼音代码

    公式 =getpy(A1) 代码 Function pinyin(p As String) As String i = Asc§ Select Case i Case -20319 To -20318 ...

  3. Visual Basic.NET中访问数据的方法(zz)

    http://info.shangdu.com/new/2003-5-8/200358113624.htm        Visual Basic.NET是微软对Visual Basic语言进行的升级 ...

  4. vb计算机图形学绘制钻石图案,Visual Basic 图形及图像处理 - 关于VB的经验之谈 - VB爱好者乐园(VBGood) - 关于VB的经验,电子教程,代码,控件,论坛,博客,微博等....

    计算机图形学是计算机应用的一个重要方面,很多人固执的认为Visual C++是处理图形的首选工具,但实际上Visual Basic在图形显示,Flash图像处理上有其独到之处. API实现完美的图片出 ...

  5. Visual Basic 9.0 前沿播报·静态篇(一)局部变量类型推测和数组初始化器

    不要惊讶,每个PDC上都会有微软最新产品的前瞻,所以在Visual Basic 2005发布以前看到Visual Basic 9.0的消息就是可以理解的了.Visual Basic 9.0 (code ...

  6. 微软公告:Visual Basic 6 完全兼容 Windows 8 的整个产品周期

    微软刚刚将其 Windows 系统对 Visual Basic 6 程序的完全兼容支持延长到了 Windows 8 的整个产品周期. Visual Basic 6 最早发售于 1998 年, 所以现在 ...

  7. Visual Basic了解

    Visual Basic是一种由微软公司开发的结构化的.模块化的.面向对象的.包含协助开发环境的事件驱动为机制的可视化程序设计语言.这是一种可用于微软自家产品开发的语言.它源自于Basic编程语言.V ...

  8. Visual Basic编程语言

    1991年,美国微软公司推出了Visual Basic 1.0(可简称VB),1992年,Microsoft公司又推出 V<wbr></wbr>B<wbr>< ...

  9. Visual Basic 历史版本大回顾

    Visual Basic从1991年诞生以来,现在已经13年了.BASIC是微软的起家产品,微软当然不忘了这位功臣.随着每一次微软技术的浪潮,Visual Basic都会随之获得新生.可以预见,将来无 ...

最新文章

  1. Exchange与ADFS单点登录 PART 2:部署和配置ADFS
  2. 有关增强现实技术的过去、现在和未来的发展
  3. C#——语言基础 之 运算符!
  4. Bagging和Boosting的区别(面试准备)
  5. 文件下载时,文件名乱码问题
  6. Win下Eclipse提交hadoop程序出错:org.apache.hadoop.security.AccessControlException: Permission denied: user=
  7. 高一信息技术 计算机配件的真伪辨别,高一信息技术组PPT.ppt
  8. 可视化排班管理_呼叫中心外包之管理要点与数据分析对策
  9. mimics能导出什么格式_Mimics到底支持怎样的图像格式(修正版) – MATLAB中文论坛...
  10. 单点登录 cas 设置回调地址_单点登录终极方案之 CAS 应用及原理
  11. python 框选截图_python实现微信的区域截图功能
  12. 西门子840d备份到u盘_西门子840D数控系统备份及恢复方法(三)
  13. 企业邮箱的优势有哪些?使用企业邮箱的好处
  14. 犯错误很正常,可怕的是同样的错误重复在犯!
  15. BUCK降压控制电路指南
  16. Git报错:remote: HTTP Basic: Access denied的解决方法
  17. CE认证EMC指令测试项及测试内容(智能开关)
  18. python苹果李子橙_Python 炫技操作:安装包的八种方法
  19. No module named ‘mdx_math‘
  20. [转]破除软件陈规 - 软件预算

热门文章

  1. 缓存在哪里_APP下载的视频都在哪?教你将缓存视频拿出来
  2. Python,OpenCV提取图片中的多个茄子种子轮廓,并按从左到右排序后显示
  3. OpenCV使用 GrabCut 算法进行交互式前景提取
  4. 基于EMQ X,打造AIoT物联网视频接入解决方案
  5. 树莓派的Raspbian Stretch with desktop和Ubuntu Mate(废弃)
  6. 矩阵快速幂+构造方法
  7. python3socket非阻塞_利用Python中SocketServer 实现客户端与服务器间非阻塞通信
  8. 自动驾驶车辆在结构化场景中基于HD-Map由粗到精语义定位
  9. 【杠精】问卷星防切屏解除方法-解除问卷星平台模拟考试防作弊禁止选中文本复制以及右键菜单的方法
  10. python threading模块多线程源码示例(一)