WizardWu 編程網

一位台灣的工程師,接觸 .NET 逾十年,近年研究 SQL Server、Performance Tuning、手機應用

博客园 首页 新随笔 联系 订阅 管理
  104 随笔 :: 0 文章 :: 1098 评论 :: 55万 阅读

常有人以為 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 中的:
Dim var As New <型別>()

就是下方這一行的縮寫:
Dim var As <型別> = New <型別>()

根據 msdn 的說法,許多 VB 6 的程式員都不使用「As New」來宣告變數和產生物件 instance,因為這在 VB 6 中會降低效能。但在 VB.NET 中,As New 語法並不會降低效能,因此開發人員可以任意使用。


(本文在版工的舊 Blog 中,發表日期為 2006/05/05)

posted on   WizardWu  阅读(1053)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示