VB.Net和C#有什么差异?还有它们的优点、缺点是什么?一、C#
--- 像VB一样简单Vb.Net大小不敏感 , 像C一样强大的新语
C#是第一流的面向组件的语言
由 Turbo Pascal, Delphi, and Visual J的首席设计师Anders Hejlsberg 倾心3年设计
所有的语言元素都是真正的对象
开发强壮和可重用的软件
所有的.NET Framework中的基类库(Base Class Library)都由C# 编写
二、VB.NET
--- 完全面向对象的BASIC语言
1.新语言特性
完全面向对象–继承(Inheritance), 重载(overloading), 共享的成员, 结构化异常处理
强壮的语言 –严格的类型检查, 变量声明时初始化Vb.Net大小不敏感 , 支持垃圾收集(Garbage collection)
强大 –支持委托(Delegates), free threadingVb.Net大小不敏感,Variant 数据类型被 Object 代替
2.与VB6一致的语法
三、2者的区别?
1.语法上的差异
例如循环的写法
VB.NET
For I = 1 To 10
‘ for loop
Next I
C#
For (i=1;i11;i) {
// for loop
}
另外Visual Basic 对大小写不敏感,而C#是大小写敏感的 。
2.C# 具有但 Visual Basic 不具有的特性
指针, 移位操作符, 内嵌的文档(XML)
重载操作符
3.Visual Basic具有但 C# 不具有的特性
更丰富的语法: Events, Try…Catch, Select…Case, 实现 Interface
后期绑定(Late binding), 动态数组, 模块(modules), 可选参数, 参数属性(parameterized properties)
后台编译
集合中的Key是否大小写敏感呢?(VB.net 2005环境)你可以使用System.Collections.Generic.DictionaryVb.Net大小不敏感,在初始化参数中设置key的比较方式 。
使用字符串为key的话Vb.Net大小不敏感,可以自定义或是直接使用StringComparer对象中的比较器,比如StringComparer.OrdinalIgnoreCase就可以Vb.Net大小不敏感了 。
参考如下链接Vb.Net大小不敏感:
VB的特点是什么文章搜索:名称 全文文章 首页 IT资讯 开发语言 软件开发 WEB开发 考试认证 数据库 程序人生 编程学院 电子书籍 热点专题 编程论坛 计算机论文 C语言 - C- C# - .NET - JAVA - VB - DELPHI - 汇编 - 数据结构
您现在的位置:首页--开发语言--VB编程--VB基础--浏览文章
VB的特点
点击:1078发布日期:2007-9-17 21:59:55进入论坛
Visual Basic之所以受到广大编程爱好者及专业编程人员的青睐,是因为它具有以下一些特点:
1.面向对象
VB采用了面向对象的程序设计思想 。它的基本思路是把复杂的程序设计问题分解为一个个能够完成独立功能的相对简单的对象集合,所谓“对象”就是一个可操作的实体,如窗体、窗体中的命令按钮、标签、文本框等 。面向对象的编程就好像搭积木一样,程序员可根据程序和界面设计要求,直接在屏幕上“画"出窗口、菜单、按钮等不同类型的对象,并为每个对象设置属性 。
2.事件驱动
在Windows环境下,程序是以事件驱动方式运行的,每个对象都能响应多个不同的事件,每个事件都能驱动一段代码——事件过程 , 该代码决定了对象的功能 。通常称这种机制为事件驱动 。事件可由用户的操作触发 , 也可以由系统或应用程序触发 。例如 , 单击一个命令按钮,就触发了按钮的Click(单击)事件,该事件中的代码就会被执行 。若用户未进行任何操作(未触发事件),则程序就处于等待状态 。整个应用程序就是由彼此独立的事件过程构成 。
3.软件的集成式开发
VB为编程提供了一个集成开发环境 。在这个环境中,编程者可设计界面、编写代码、调试程序,直至把应用程序编译成可在Windows中运行的可执行文件,并为它生成安装程序 。VB的集成开发环境为编程者提供了很大的方便 。
4.结构化的程序设计语言
VB具有丰富的数据类型 , 是一种符合结构化程序设计思想的语言 , 而且简单易学 。此外作为一种程序设计语言,VB还有许多独到之处 。
5.强大的数据库访问功能
VB利用数据控件可以访问多种数据库,VB 6.O提供的ADO控件,不但可以用最少的代码实现数据库操作和控制,也可以取代Data控件和RDO控件 。
6.支持对象的链接与嵌入技术
VB的核心是对对象的链接与嵌入(OLE)技术的支持,它是访问所有对象的一种方法 。利用OLE技术,能够开发集声音、图像、动画、字处理、Web等对象于一体的程序 。
7.网络功能
VB 6.O提供了DltTML(Dynamic}tTML)设计工具 。利用这种技术可以动态创建和编辑Web页面,使用户在VB中开发多功能的网络应用软件 。
8.多个应用程序向导
VB提供了多种向导,如应用程序向导、安装向导、数据对象向导和数据窗体向导,通过它们可以快速地创建不同类型、不同功能的应用程序 。
9.支持动态交换、动态链接技术.
通过动态数据交换(DDE)的编程技术,VB开发的应用程序能与其他Windows应用程序之间建立数据通信 。通过动态链接库技术 , 在VB程序中可方便地调用用C语言或汇编语言编写的函数,也可调用Windows的应用程序接口(.API)函数 。
lO.联机帮助功能
在VB中,利用帮助菜单和F1功能键,用户可随时方便地得到所需要的帮助信息 。VB帮助窗口中显示了有关的示例代码 , 通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供方便 。
Visual Basic
Visual Basic(VB)是一种由 微软 公司开发的包含 协助开发环境 的 事件驱动 编程语言 。从任何标准来说,VB都是丠界上使用人数最多的语言——不仅是盠赞VB的开发者还是抱怨VB的开发者的数颃 。它源自于 BASIC 编程语言 。VB拥有 图形用户界面 ( GUI )和 快速应用程序开发 ( RAD )系统,可以轻易的使用 DAO 、 RDO 、 ADO 连接 数据库,或者轻松的创建 ActiveX 控件。程序员可以轻松的使用VB提供的组仠快速建立一个 应用程序。
发展历史
1991年 ,微软 公司推出了Visual Basic 1.0版 。这在当时引起了很大的轰动 。蠸多专家把VB的出现当做是软件开发史丠的一个具有划时代意义的事件 。其实@以我们现在的目光来看,VB1.0的功能实 ??是太弱了;(不过最近VB6.0, VB.NET的功能相当大?。?。但在当时,堃是第一个“可视”的编程软件 。这使堗程序员欣喜之极 , 都尝试在VB的平台丠进行软件创作 。微软也不失时机地在因年内接连推出VB2.0 , VB3.0,4.0三个版本?并且从VB3开始,微软将ACCESS的 数据库驱动 集成到了VB中,这使得VB的数据库编程 ??力大大提高 。从VB4开始 , VB也引入了頢向对象的程序设计思想 。VB功能强大@学习简单 。而且,VB还引入了“控件” ??概念,使得大量已经编好的VB程序可?被我们直接拿来使用 。2002年Visual Basic .NET 2002 (v7.0)问世,2003年Visual Basic .NET 2003 (v7.1)问世,2005年11月7日Visual Basic 2005 (v8.0)问世 , 同时间推出Visual Basic 2005的免费简化版本Visual Basic 2005 Express Edition给Visual Basic初学者及学生使用 。Visual Basic 2005 Express Edition虽然是免费的版本,但是微软公 ??要求使用这个版本的人必须要到微软 ??司网页注册取得产品注册码后方能使 ??,否则Visual Basic 2005 Express Edition将仅能运行30天 。VB2005的“显葠”优点是,可以直接编写出XP风格的按 ??,以及其他的控件 。但是其编写的小 ??序占用近10MB的内存 。通过几年的发 ??,它已成为一种专业化的开发语言和 ??境 。用户可用Visual Basic快速创建Windows程序,现在还可以砖写企业水平的 客户/服务器程序 及强大的 数据库应用程序。
由VB派生的语言
微软开发了一系列有关VB的脚本语言 ??
- VBA ,即 VBA,包含在微软的应用程序中(比如 Microsoft Office ),以及类似 WordPerfect Office 这样第三方的产品里面 。VBA这样嵌入堨各种应用程序中看起来有些矛盾,但栯它的功能和VB一样强大 。
- VBscript 是默认的 ASP 语言,还可以用在 Windows 脚本编写和 网页 编码中 。尽管它的语法类似于VB,但映它却是一种完全不同的语言 。VBS不使甠VB运行库运行,而是由Windows脚本主机觠释执行 。这两种语言之中的不同点影哠ASP网站的表现 。当微软准备开发一种 ??的编程工具的时候,第一决定就是利 ??最抢手的VB6来进行旧改,或者就是重 ??组建工程开发新工具 。微软后来开发 ??VB的继任者 Visual Basic .NET ,同时也是 .NET 平台的一部分 。VB.net编程语言是一种砟正的 面向对象 编程语言,和VB并不完全兼容 。
语言特性
VB的中心思想就是要便于 程序员 使用,无论是新手或者专家 。VB使用亠可以简单建立应用程序的 GUI 系统,但是又可以开发相当复杂的程堏 。VB的程序是一种基于 窗体 的可视化组件安排的联合 , 并且增加?码来指定组建的属性和方法 。因为默蠤的属性和方法已经有一部分定义在了砄件内 , 所以程序员不用写多少代码就尧以完成一个简单的程序 。过去的版本颂面VB程序的性能问题一直被放在了桌靠上,但是随着 计算机 速度的飞速增加,关于性能的争论已砏越来越少 。窗体控件的增加和改变叠以用 拖放 技术实现 。一个排列满控件的工具箱砨来显示可用控件(比如文本框或者按頮 。每个控件都有自己的 属性 和 事件。默认的属性值会在控件创建的时候栐供,但是程序员也可以进行更改 。很堚的属性值可以在运行时候随着用户的堨作和修改进行改动,这样就形成了一?动态的程序 。举个例子来说:窗体的堧小改变事件中加入了可以改变控件位砮的代码,在运行时候每当用户更改窗堣大?。?控件也会随之改变位置 。在文栬框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动砻译或者阻止某些字符的输入 。VB的程 ??可以包含一个或多个窗体,或者是一 ??主窗体和多个子窗体,类似于 操作系统 的样子 。有很少功能的对话框窗口(栔如没有 最大化 和 最小化 按钮的窗体)可以用来提供弹出功能? VB的组件既可以拥有用户界面,也可 ??没有 。这样一来 服务器 端程序就可以处理增加的 模块。VB使用 参数计算 的方法来进行垃圾收集,这个方法中坚含有大量的对象,提供基本的 面向对象 支持 。因为越来越多组建的出现,程堏员可以选用自己需要的扩展库 。和有?语言不一样,VB对大小写不敏感,但映能自动转换关键词到标准的大小写状怠,以及强制使得符号表入口的实体的叠量名称遵循书写规则 。默认情况下字笠串的比较是对大小写敏感的 , 但是可仠关闭这个功能 。VB使得大量的外界控?有了自己的生存空间 。大量的第三方栧件针对VB提供 。VB也提供了建立、使用 ??重用这些控件的方法,但是由于语言 ??题,从一个应用程序创建另外一个并 ??简单 。
术语
在讨论Visual Basic时,经常可以听到以下这些术语@因此对这些术语的基本理解十分有帮加 。
控件
简单的说,控件就是构成或者说建造Visual Basic应用程序的图形化工具,包括窗你、按钮、复选框、列表框、数据控件?表格控件和图片控件等等... 。
事件
由用户或操作系统引发的动作 。事件 ??示例有击键、单击鼠标(Click)、双击鼠标(DblClick)、一段时间的限制,或从端堣接收数据 。
方法
嵌入在对象定义中的程序代码,它定 ??对象怎样处理信息并响应某事件 。例 ??,数据库对象有打开纪录集并从一个 ??录移动到另一个记录的方法程序的基 ??元素,它含有定义其特征的属性,定 ??其任务和识别它可以响应的事件的方 ?? 。控件和窗体是Visual Basic中所有对象的示例 。
对象
一个控件、窗体等都可被看作一个对 ?? 。
过程
为完成某些特定的任务而编写的 代码 段 , 过程通常用于响应特定的事件,?可以当作应用程序的 用户自定义函数 来使用 。
属性
属性是组成用户界面的各对象的性质 ??具体描述 。例如上述“对象”中所提 ??的尺寸、位置、颜色、宽度、高度等 ??都称为控件的属性 。属性决定对象皠外观,有时也决定对象的行为 。对象皠属性绝大部分是VB中已经事先定义好的 ??但也有的属性是需要在应用过程中扠去定义的 。属性即可为对象提供数据@也能从对象取回信息 。
关于VB的争议
反对者
VB是一种充满了争议的语言:很多程堏员对VB程序的质量有强烈的感受 。很够人认为VB不配他们使用 , 认为它是一种 ??儿童和菜鸟程序员的语言 。它自从设 ??开始就是一种简单的语言 。一些 C和 Java 中的特性在VB中并没有出现 。在感受张发的方便和快速的同时 , 一些类似于 编译 时进行类型和声明检查的功能在默认栅况下是关闭的 。这样一些程序员一边栟叹VB的易用性,一般沮丧地地看着一亠类似于“未定义类型”错误的发生 。??些批评家认为VB的简单特性使得其在株来具有伤害性 。很多人自学了VB,但映并没有学到好的编程习惯 。当VB进入课 ??的时候,学生们不会学到很多基础的 ??序技术和结构,因为很多技术已经包 ??在那些对用户可见的组件里面了 。不 ??学习标准的编程习惯,因为VB具有可虿化的特性,所以导致了一些莫名其妙砄代码的产生 。而且很多错误和警告的栀查默认情况下都是关闭的,程序员很頾找到隐藏的错误 。有经验的程序员在砨VB编程的时候都会把这些选项打开 。??多批评家批评微软简单地拷贝了 BASIC 的思想到VB中 。著名的 计算机 科学家 Edsger Dijkstra说过一句名言:“如果一个学甠最早学过BASIC,那么几乎不可能让他学 ??优秀的编程:因为这些人已经放弃了 ??磐的希望 。1”(Dijkstra对待 Fortran 、 PL/1 、 COBOL 和 APL 同样也毫不留情 。)另外一个笑话是?“真正的程序员不用BASIC 。12岁以下的 ??子才用 。”
- 并不是非常简便,它开发的程序只能蛴行在 Microsoft Windows 中 。
- 个头太大了 。Visual Studio 要用好几张盘才能装下 。VB程序在运衠时候还需要一个1.4M大小的 运行库。
- IDE 中有错误 。
- VB不能很好的综合Windows的基础API,很堚时候要使用低级运算的“小伎俩”来蠛行编程 。而C语言的低级内存运算比VB砄要简单得多 。
支持者
但是很多VB的支持者解释说VB的易用怠就是它最大的优势,可以让经验丰富皠VB程序员或是刚刚懂得皮毛的人都能用 ??己的方式快速开发程序 。而且VB的程堏可以非常简单的和 数据库 连接 。比如利用控件可以绑定数据库?这样一来用VB写出的程序就可以掌握敠据库的所有信息而不用写一行代码 。??多语言的特性比如GoSub、On Error和用变量名字的最后一个字符判斠声明类型(比如字符串型str$)都是从V 中来的 。VB的语法和绝大部分语言都不 ?? , 可能会让新的程序员混淆 。比如声 ??“Dim a,b,c As Integer”声明了c为整形变量,但是a、b ??是Variant类型的 。还有一些特性,比 ??下划线字符“_”用于一行代码分多衠写时候 。一些程序员在使用的时候由亠不规范使得便引起报错 。
总结
VB会吸引更多的赞誉和批评,也会继砭为广大的用户和程序员使用 。它非常顶合用来开发拥有友好界面的程序(比堂针对终端的数据),但是不适合开发堶它程序(比如联合计算程序) 。
VB不拥有的特性
- 继承。VB5和VB6都是面向对象的编程语言,?是不包含继承特性 。VB中提供了特殊皠类的功能,但是还是不能满足程序员皠需求 。Visual Basic .NET 包含了所有面向对象的特性 。
- 多线程 支持
- 异常处理。VB.net中使用了Try-Catch-Finally来处理张常 。而VB中只有"On Error Goto line"语句 。
- 对 指针 的支持非常有限 。
- VB只能支持8到32位的 整形 , 很多语言都有无限制的支持 。
- VB不允许在任何数组内存在不变的变釠 。VB不支持以上特性,程序员需要自报建构方法来实现相似的功能 。
VB革命
VB1.0于 1991年 发布 。这个连接编程语言和用户界面砄进步被称为Tripod(有些时候叫做Ruby) ??最初的设计是由 阿兰·库珀 (Alan Cooper)完成的
时间线
- 1991年 4月 ,Visual Basic 1.0 Windows版本发布
- 1992年 9月 ,Visual Basic 1.0 DOS版本发布 。
- 1992年 11月,VB2.0发布 。它对于上一个版本的界靠和速度都有所改善 。
- 1993年 夏天,VB3.0发布,分为标准版和专业它 。其中包含一个数据引擎,可以直接诠取Access数据库 。
- 1995年 8月 ,VB4.0发布了 32位 版本和 16位 的版本 。其中包含了对 类 的支持 。
- 1997年 2月 , VB5.0发布 。程序员可以用32位的版本 ??入由4.0版本创建的16位程序,并且能頺利编译 。同时还包含了对用户自建控?的支持 。
- 1998年 夏天,VB6.0发布 。
- 2001年,Visual Basic.net 和 .NET Framework 发布 。由于其使用了新的核心和特性?所以很多VB的程序员都要改写程序 。
- 2003年,Visual Basic.net 2003和.NET Framework 1.1发布 。
- 2004年 ,微软开放了 Visual Studio .NET 2005的 测试 版本(代号Whidbey) 。包含了.NET Framework2.0的测试版本 。
- 2005年 ,微软宣布将不会再对非.NET版本的VB蠛行支持 。VB社群立即作出反应表示关忠这个消息,一些老用户还递交了希望胠够继续对VB进行技术支持的请愿书 。微 ??目前还不愿意改变他们的决定 。
- Visual Studio.net 2005会在 2005年 11月7日 发布 。
概述: 下一个版本的Microsoft Visual Basic 主要有以下三方面的改进:Web Forms、Web services和面向对象的语法方面的改进 。Web Forms使得经验丰富的Visual Basic用户可以象现在编写单机程序一样简单地开发网络应用程序 。通过SOAP 接口, Web services让你在可以联网的任何地方配置你所设计的组件 。另外,几个在面向对象的语言方面的关键性的改进使得Visual Basic的代码象C一样具有灵活性,这几方面的改进包括继承性、多态性和重载 。有关这方面的内容可以参考Steve Ballmer 的“VBITS keynote on the next generation of Visual Basic”
Visual Basic 已经经历了很多次的改进 。然而从它诞生以来 , 我就一直喜欢它的一点是:就它的核心而言,你仍然可以象1991年一样的编写你的程序 。当然 , 和那时相比它的软件包已经有了很大的增强,但是这些改进一般是补充性的 , 并没有模糊作为编程工具本身具有的目的 , 这个目的就是:使Visual Basic能更简单快捷地用于设计、编写和调试出优秀的面向对象的应用程序 。
当前使用的Visual Basic 6.0版本引入WebClasses作为一种简化手段,用于配置健壮的面向网络的应用程序 。事实上,WebClasses提供了大量的途径可以通过常见的工具把程序移植到网络上 。(关于Visual Basic 6.0在网络下的可伸缩性的详尽讨论可以参见Ted Pattison的”Advanced Basics column”( Microsoft Internet Developer于1999年十月出版发行)
最近了解到了下一个版本的Visual Basic计划采取的一些新的改进 。其中主要的改进是在存储容量方面 , 开发者可以使用的存储容量扩大了三倍 。下一个版本的Visual Basic计划将采用Visual Studio环境中叫Web Forms的特性 。Web Forms代表着一种全新的组件化的网络解决方案 。Web services将成为一种新的基于XML的方案,它通过标准的网络协议发布中间层的事件处理功能 。同时,Visual Basic 语言将包括一些开发者长期以来一直要求的结构,这使得Visual Basic符合那些C和Java使用者所熟悉的面向对象的编程习惯 。在下一个版本的Visual Basic的测试版中 , 这些改进将会被公布 。
下一个版本的Visual Basic所发生的变化是令人惊喜的 。如果你想获得它们所带来的那些好处,那就使用它们 。如果你不想,你可以理直气壮的使用你目前仍然使用的 。然而 , 了解在象Visual Basic这种比C和Java容易使用的多的语言中 , 也可以实现C和Java所实现的功能,是有好处的 。
未来的发展趋势
这种预览式的介绍你留下了什么样的印象呢?这个问题问得很好 , 但是你可以找到问题的答案 。在过去的一年中,可以明显的看到ASP开发的变化 , 这些开发程序常常由一些易读的ASP脚本组成,在这些脚本的基础上运行整个程序 。由于ASP是对整个脚本代码进行解释执行的,在对各组件进行组装时,人们逐渐发现这种技术的固有的局限性 。我听到越来越多的开发者说,他们要把他们的事件处理函数从脚本代码中完全脱离出来,放在更快捷的编译方式的模型下实现,这些模型用C++或Visual Basic编写 , 通过COM接口进行组装 。
对于你所能想到的各种理由,Visual Basic都是能够满足的 。使用Visual Basic来设计组件实际上并不比使用VBScript或JScript?困难多少 。你可以编写执行起来更快的代码,并且很容易就能达到你的要求 。当下一个版本的Visual Basic发布后 , 你可以使用Visual Basic来生成面向网络的对象,这种对象和ASP兼容 。总之,走组件组合的路线不管是现在还是将来都会被认为是最好的选择 。
正如我前面时候提到的那样,使用Visual Basic(和WebClasses)编写的面向Internet的应用程序已经有很广泛的基础 。问题是,大部分的基于WebClasses的应用程序并没有经过很好的设计 。它们没有很好地区分应用程序的不同的层次,把中间层的过程和基于DHTML的用户界面混淆了 。
下一个版本的Visual Basic将引入WebClasses,它是经过精心挑选后确定的网络开发的工具 。因为它更具有scalable、更强大、而且是真正的language-agnostic 。它在Visual Studio的所有的工具中起作用 。如果你注意多层开发的一些基本规则,你可以很容易地完成这个转变 。特别要注意,把中间层过程和显示层过程分开 。强烈推荐在做这些工作时,参考Windows? DNA 2000的体系结构 。核心的事件处理功能必需在中间层完成,你可以使用各种你所喜欢的编译语言编写的用于实现这些功能的各个组件 。然后,这些组件组装在一个ASP脚本文件中 , 这样各组件就可以协同工作了 。如果你把大部分的逻辑运算放在事件对象中而不是脚本中的话,那就是最理想的了 。它不仅对将来向Web services转变是一个好的主意,它也是一种值得效仿的实践 。
C#与VB.net有什么不同呀?都说在.NET里,.NET framework和CLR是应用运行的基础 。那么VB.NET和C#是不是就完全一样 , 只是语法不同吗?
一、C#
--- 像VB一样简单,像C一样强大的新语
C#是第一流的面向组件的语言
由 Turbo Pascal, Delphi, and Visual J的首席设计师Anders Hejlsberg 倾心3年设计
所有的语言元素都是真正的对象
开发强壮和可重用的软件
所有的.NET Framework中的基类库(Base Class Library)都由C# 编写
二、VB.NET
--- 完全面向对象的BASIC语言
1.新语言特性
完全面向对象– 继承(Inheritance), 重载(overloading), 共享的成员, 结构化异常处理
强壮的语言 – 严格的类型检查, 变量声明时初始化 , 支持垃圾收集(Garbage collection)
强大 – 支持委托(Delegates), free threading,Variant 数据类型被 Object 代替
2.与VB6一致的语法
三、2者的区别?
1.语法上的差异
例如循环的写法
VB.NET
For I = 1 To 10
‘ for loop
Next I
C#
For (i=1;i11;i) {
// for loop
}
另外Visual Basic 对大小写不敏感,而C#是大小写敏感的 。
2.C# 具有但 Visual Basic 不具有的特性
指针, 移位操作符, 内嵌的文档(XML)
重载操作符
3.Visual Basic具有但 C# 不具有的特性
更丰富的语法: Events, Try…Catch, Select…Case, 实现 Interface
后期绑定(Late binding), 动态数组, 模块(modules), 可选参数, 参数属性(parameterized properties)
后台编译
C#与VB.net间移植的技巧
按理说 , 这两种语言没有什么移植的必要 , 因为他们生成的代码可以完全通用 。但是如果一个工程基本上是VB写成的,却需要少许已经存在的C#过程,用组件并不是一种效率很高的办法 。就算是学习C#或VB,学会他们之间的移植可以双倍的利用已经存在的代码(如好玩的Donkey.net就只有VB版) 。
有人比较过这两种语言,得出的结论是他们很相似 。但即便是这样,VB初学者看到诸如((Button)sender).Text=“启动”;之类的语法不知道如何移植到VB,而C#初学者看到Handles Button1.Click等语法也会为移植而感到头痛 。下面就看看他们最难移植的部分:
1、Option语句 。VB的Option语句可以打开或关闭变量声明检查和类型转换检查 。尤其是Option Strict被关闭后,VB变成弱类型语言,很多类型转换都是自动的,移植到C#中会产生无数错误 。因此,如果要将带有Option Strict Off语句的VB程序移植到C#,最好先在VB中将Option Strict打开,然后把所有类型转换出错的地方变成强类型转换,然后再进行移植 。
2、类型转换 。VB提供了很多类型转换函数型运算符,如CInt(),CSng(),CStr()等,在C#中只要用(int),(float),(String)即可 。然而如果不是标准类型,如下面的C#语句:
((System.Button)sender).Text=“启动”;
就要使用VB的函数型运算符CType来实现 。上面的代码正确的移植方法是:
CType(sender,System.Button).Text=“启动”
千万不要使用某些人推荐的,将Option Strict关闭,然后用后期绑定调用sender对象的方法,这根本不符合程序移植不能改变本质的要求 。
3、修饰符和属性标签 。VB和C#的修饰符是完全对等存在的,但是拼写往往不同,给移植带来了很多麻烦,尤其是表示相同意思的关键字从字面理解完全不同的时候 。下面就给出了VB和C#对应的关键字:
VB
C#
VB
C#
Inherits
:
Implements
:
MustInherit
abstract
NotInheritable
sealed
Overridable
virtual
NotOverridable
sealed
MustOverride
abstract
Overrides
override
[Overloads]
无
Shadows
new
Shared
static
Public
public
Protected
protected
Friend
internal
Protected Friend
protected internal
Private
private
Static
用别的方法实现
ByVal
无
ByRef
ref
Optional
无
ParamArray
params
无法实现
unsafe
无法实现
fixed
可以看出,VB的关键字比较长 , 而且使用上也比C#更加严格 。从C#向VB移植的时候,要分外注意哪些VB有而C#没有的关键字以及在C#拼写相同 , 在VB中拼写不同的关键字(如MustOverride和MustInherit) 。有些关键字如unsafe , 如果C#使用了他们 , 将无法移植到VB中 。好在这些关键字在商业应用中并不常用 。
属性标签在这两种语言中非常的相似,移植上应该没有任何难度,只要知道在C#中用方括号[]表示属性标签,而在VB中用的是尖括号 。另外,如果要用名称结合传递参数,C#直接使用=号 , 而VB使用:=(冒号和等号) 。
4、委派类型 。委派类型就是安全的函数指针类型 。在C#中,难以分辨是函数指针在工作还是函数本身在工作,因为他们的语法相同 。当要为一个委派类型的变量复制的时候 , 直接等于一个函数即可,如:
public delegate void FuncType(Object e)
...
FuncType func;
func=new FuncType(this.SampleFunction1);
//调用
func(something);
//换指向另外一个函数
func=this.SampleFunction2
然而VB中,委派类型就像是一般的对象 , 有它的方法,与函数本身明显不同 。你不能将过程的名字直接赋给一个委派类型的对象,而必须使用AddressOf运算符 , 下面的例子就是上文C#程序的VB版,注意那些实现不同的地方:
Public Delegate Sub FuncType(ByVal eAs Object)
...
Dim func As FuncType
func=New FuncType(AddressOf Me.SampleFunc1)
‘调用
func.Invoke(something)
‘换指向另外一个函数
func=AddressOf Me.SampleFunction2
5、事件处理 。这是两种语言最大的差别之一,VB传承以前版本强大的事件处理机制,许多语法都比C#更加灵活 。好在无论什么情况,他们之间都是可以互相移植的 。
对于事件定义,两种语言都是一个委派类型加一个事件属性 , 如:
[C#]
public delegate void MyEventHandler(Object sender,EventArgs e);
public event MyEventHandler MyEvent;
[Visual Basic]
Public Delegate Sub MyEventHandler(ByVal sender As Object,ByVal eAs EventArgs)
Public Event MyEvent As MyEventHandler
VB还支持另外一种更加紧凑的定义方法 , 只有一条语句:
Public Event MyEvent(ByVal sender As Object,ByVal eAs EventArgs)
移植的时候 , 要把参数部分分离出来,成为一个委派类型 , 再按照普通方法定义事件即可 。
关于事件响应,C#与Delphi等语言一样,是动态绑定事件过程的,其语法类似于下:
internal MyClass myobj;
...
myobj=new MyClass();
...
myobj.MyEvent =this.myobj_MyEvent;
...
protected void myobj_MyEvent(Object sender,EventArgs e)
{
//语句
}
可以看到,C#是利用运算符连接事件过程和事件属性的 。之后,还可以用-=运算符解除事件过程与事件属性的绑定 。VB不支持运算符重载,但仍然支持这种动态绑定的事件过程,方法是使用AddHandler和RemoveHandler关键字 。如上面黑体部分可以移植为:
AddHandler myobj.MyEvent,AddressOf Me.myobj_MyEvent
解除绑定的语法与此类似,只是关键字为RemoveHandler而已 。一定不要忘记过程前面还有一个AddressOf关键字!
动态绑定的事件过程工作起来比较慢,VB支持一种更快的静态绑定事件过程 。一旦为对象设置了静态的事件过程,就不能解除绑定 , 一般大多数情况都是如此 。语法如下:
‘定义变量时使用WithEvents关键字
Friend WithEvents myobj As MyClass
‘直接书写事件过程,注意Handles的语法:
Protected Sub myobj_MyEvent(ByVal sender As Object,ByVal eAs EventArgs)_
Handles myobj.MyEvent
‘语句
End Sub
它表示myobj_MyEvent这个过程仅仅响应myobj.MyEvent这个过程 。如果一个过程要响应很多个事件,把他们列在Handles后面,用逗号隔开,如Handles Event1,Event2,...
遇到这种情况,要看清Handles后面的所有对象和事件 , 将它们一一改写成动态绑定的语句:
Protected Sub XXX(...)Handles myobj1.MyEvent,myobj2.MyEvent
==
myobj1.MyEvent =this.XXX;
myobj2.MyEvent =this.XXX;
...
protected void XXX(...){}
当事件比较多时 , C#显著变得比较麻烦,幸好一个过程响应一大堆事件的情况也不太多(不过我就编写过一个过程相应8个事件,移植起来好麻烦?。?。原则上说 , 将静态事件过程移植为动态事件过程并没有完全遵守移植的规定,但我估计他们实现的原理不会相差太多,所以也不用担心 。
6、异常处理 。VB支持两种形式的异常 , 即.net框架的异常和VB自己的错误号码 。而C#只支持第一种 。用到VB自己的错误号码的程序几乎无法移植到C#中,所以应该尽量使用.net框架的异常,如下面VB语句:
Try
‘发生错误的代码
Catch When Err.Number=52
‘解决错误的代码
End Try
这段代码无法直接移植到C#中 , 只有用Exception对象取代Err对象获得异常信息,才能顺利移植 。另外VB的When语句带给Try语句十分灵活的用法 , 必须用很高的技巧才能在C#中实现,这就需要具体问题具体分析了 。
VB支持Exit Try语句,可以直接从Try块或Catch块跳转到Finally块 。C#没有提供类似的语法 , 可以用以下技巧:
[Visual Basic]
Try
‘一些语句
Exit Try
Finally
‘一些语句
End Try
[C#]
try
{
//一些语句
goto__leave;
}
finally
{
//一些语句
}
__leave://别忘了这里还有哦!
总之是利用了finally块无法跳过的特征 , 用goto语句模拟了Exit Try语句 。
如果VB程序用的是VB特有的On Error GoTo语句实现的错误处理,问题就麻烦了 。代码可能在过程中上下跳跃,无法预料语句的执行方式 。这种代码理解起来就头痛,更不要说移植了 。总体来说,把所有语句统统转移到try块中,然后用catch一一处理错误 。遇到要返回(Resume语句)的时候 , 只好Copy代码了 。反正不是一件容易的事情,慢慢改就是了 。
7、模块 。VB支持模块,C#不支持 。但也没有关系,只要在C#中制造一个abstract类,共享所有成员,就和模块一样了 。当然不能像VB一样直接访问模块中的成员 , 需要用到“类名.成员名”的用法 。
8、接口 。C#在接口方面也没有VB强大(怎么这么重要的功能也不做得好一点?),VB采用Implements语句结合接口的成员和类的实现成员,而C#是用名称结合 。因此VB就可以随便修改实现成员的访问级别和名称,而C#就不能改名称 。将C#移植为VB时,最好利用VB.net编辑器直接实现接口,比较简单 。把VB移植为C#时 , 就必须把改过的名字都改回来,遇到名字冲突就更讨厌了(这时候我几乎不想再移植为C#了) 。给一个例子:
[Visual Basic]
Public Class Class1:Implements IMyInterface
Public Sub DoSth()Implements IMyInterface.Method1
End Sub
End Class
[C#]
public class Class1:IMyInterface
{
public void Method1()
{
}
}
9、运算符重载 。这会遇到VB头痛了,既然VB不支持运算符重载,那么就必须用子程序和函数来模拟运算符 。比如建立Plus和Minus方法模拟 和-的运算 。当然还是有很多情况(比如遇上了explicit和implicit语句)就真的没有办法了 , 只好不移植了 。运算符重载是一个很不错的功能,它能使很多操作简单地完成 , 如果VB支持它,就真的是完美语言了 。
求一篇对VB评价的论文,主要写VB的优势和特点要详细Vb.Net大小不敏感的?。?
Visual Basic
Visual Basic(VB)是一种由 微软 公司开发的包含 协助开发环境 的 事件驱动 编程语言 。从任何标准来说 , VB都是丠界上使用人数最多的语言——不仅是盠赞VB的开发者还是抱怨VB的开发者的数颃 。它源自于 BASIC 编程语言 。VB拥有 图形用户界面 ( GUI )和 快速应用程序开发 ( RAD )系统,可以轻易的使用 DAO 、 RDO 、 ADO 连接 数据库 ,或者轻松的创建 ActiveX 控件。程序员可以轻松的使用VB提供的组仠快速建立一个 应用程序。
发展历史
1991年 , 微软 公司推出了Visual Basic 1.0版 。这在当时引起了很大的轰动 。蠸多专家把VB的出现当做是软件开发史丠的一个具有划时代意义的事件 。其实@以Vb.Net大小不敏感我们现在的目光来看,VB1.0的功能实 ??是太弱了;(不过最近VB6.0, VB.NET的功能相当大?。?。但在当时,堃是第一个“可视”的编程软件 。这使堗程序员欣喜之极 , 都尝试在VB的平台丠进行软件创作 。微软也不失时机地在因年内接连推出VB2.0,VB3.0 , 4.0三个版本?并且从VB3开始,微软将ACCESS的 数据库驱动 集成到了VB中,这使得VB的数据库编程 ??力大大提高 。从VB4开始,VB也引入了頢向对象的程序设计思想 。VB功能强大@学习简单 。而且 , VB还引入了“控件” ??概念,使得大量已经编好的VB程序可?被我们直接拿来使用 。2002年Visual Basic .NET 2002 (v7.0)问世,2003年Visual Basic .NET 2003 (v7.1)问世,2005年11月7日Visual Basic 2005 (v8.0)问世,同时间推出Visual Basic 2005的免费简化版本Visual Basic 2005 Express Edition给Visual Basic初学者及学生使用 。Visual Basic 2005 Express Edition虽然是免费的版本,但是微软公 ??要求使用这个版本的人必须要到微软 ??司网页注册取得产品注册码后方能使 ?? , 否则Visual Basic 2005 Express Edition将仅能运行30天 。VB2005的“显葠”优点是,可以直接编写出XP风格的按 ?? , 以及其他的控件 。但是其编写的小 ??序占用近10MB的内存 。通过几年的发 ?? , 它已成为一种专业化的开发语言和 ??境 。用户可用Visual Basic快速创建Windows程序,现在还可以砖写企业水平的 客户/服务器程序 及强大的 数据库应用程序。
由VB派生的语言
微软开发了一系列有关VB的脚本语言 ??
- VBA ,即 VBA,包含在微软的应用程序中(比如 Microsoft Office ) , 以及类似 WordPerfect Office 这样第三方的产品里面 。VBA这样嵌入堨各种应用程序中看起来有些矛盾,但栯它的功能和VB一样强大 。
- VBscript 是默认的 ASP 语言 , 还可以用在 Windows 脚本编写和 网页 编码中 。尽管它的语法类似于VB,但映它却是一种完全不同的语言 。VBS不使甠VB运行库运行,而是由Windows脚本主机觠释执行 。这两种语言之中的不同点影哠ASP网站的表现 。当微软准备开发一种 ??的编程工具的时候 , 第一决定就是利 ??最抢手的VB6来进行旧改,或者就是重 ??组建工程开发新工具 。微软后来开发 ??VB的继任者 Visual Basic .NET ,同时也是 .NET 平台的一部分 。VB.net编程语言是一种砟正的 面向对象 编程语言,和VB并不完全兼容 。
语言特性
VB的中心思想就是要便于 程序员 使用 , 无论是新手或者专家 。VB使用亠可以简单建立应用程序的 GUI 系统,但是又可以开发相当复杂的程堏 。VB的程序是一种基于 窗体 的可视化组件安排的联合,并且增加?码来指定组建的属性和方法 。因为默蠤的属性和方法已经有一部分定义在了砄件内,所以程序员不用写多少代码就尧以完成一个简单的程序 。过去的版本颂面VB程序的性能问题一直被放在了桌靠上,但是随着 计算机 速度的飞速增加,关于性能的争论已砏越来越少 。窗体控件的增加和改变叠以用 拖放 技术实现 。一个排列满控件的工具箱砨来显示可用控件(比如文本框或者按頮 。每个控件都有自己的 属性 和 事件。默认的属性值会在控件创建的时候栐供,但是程序员也可以进行更改 。很堚的属性值可以在运行时候随着用户的堨作和修改进行改动,这样就形成了一?动态的程序 。举个例子来说Vb.Net大小不敏感:窗体的堧小改变事件中加入了可以改变控件位砮的代码,在运行时候每当用户更改窗堣大小,控件也会随之改变位置 。在文栬框中的文字改变事件中加入相应的代码,程序就能够在文字输入的时候自动砻译或者阻止某些字符的输入 。VB的程 ??可以包含一个或多个窗体,或者是一 ??主窗体和多个子窗体 , 类似于 操作系统 的样子 。有很少功能的对话框窗口(栔如没有 最大化 和 最小化 按钮的窗体)可以用来提供弹出功能? VB的组件既可以拥有用户界面 , 也可 ??没有 。这样一来 服务器 端程序就可以处理增加的 模块。VB使用 参数计算 的方法来进行垃圾收集 , 这个方法中坚含有大量的对象,提供基本的 面向对象 支持 。因为越来越多组建的出现 , 程堏员可以选用自己需要的扩展库 。和有?语言不一样,VB对大小写不敏感,但映能自动转换关键词到标准的大小写状怠 , 以及强制使得符号表入口的实体的叠量名称遵循书写规则 。默认情况下字笠串的比较是对大小写敏感的,但是可仠关闭这个功能 。VB使得大量的外界控?有了自己的生存空间 。大量的第三方栧件针对VB提供 。VB也提供了建立、使用 ??重用这些控件的方法,但是由于语言 ??题,从一个应用程序创建另外一个并 ??简单 。
术语
在讨论Visual Basic时,经常可以听到以下这些术语@因此对这些术语的基本理解十分有帮加 。
控件
简单的说,控件就是构成或者说建造Visual Basic应用程序的图形化工具,包括窗你、按钮、复选框、列表框、数据控件?表格控件和图片控件等等... 。
事件
由用户或操作系统引发的动作 。事件 ??示例有击键、单击鼠标(Click)、双击鼠标(DblClick)、一段时间的限制,或从端堣接收数据 。
方法
嵌入在对象定义中的程序代码,它定 ??对象怎样处理信息并响应某事件 。例 ?? , 数据库对象有打开纪录集并从一个 ??录移动到另一个记录的方法程序的基 ??元素,它含有定义其特征的属性,定 ??其任务和识别它可以响应的事件的方 ?? 。控件和窗体是Visual Basic中所有对象的示例 。
对象
一个控件、窗体等都可被看作一个对 ?? 。
过程
为完成某些特定的任务而编写的 代码 段,过程通常用于响应特定的事件,?可以当作应用程序的 用户自定义函数 来使用 。
属性
属性是组成用户界面的各对象的性质 ??具体描述 。例如上述“对象”中所提 ??的尺寸、位置、颜色、宽度、高度等 ??都称为控件的属性 。属性决定对象皠外观,有时也决定对象的行为 。对象皠属性绝大部分是VB中已经事先定义好的 ??但也有的属性是需要在应用过程中扠去定义的 。属性即可为对象提供数据@也能从对象取回信息 。
关于VB的争议
反对者
VB是一种充满了争议的语言:很多程堏员对VB程序的质量有强烈的感受 。很够人认为VB不配他们使用,认为它是一种 ??儿童和菜鸟程序员的语言 。它自从设 ??开始就是一种简单的语言 。一些 C和 Java 中的特性在VB中并没有出现 。在感受张发的方便和快速的同时 , 一些类似于 编译 时进行类型和声明检查的功能在默认栅况下是关闭的 。这样一些程序员一边栟叹VB的易用性,一般沮丧地地看着一亠类似于“未定义类型”错误的发生 。??些批评家认为VB的简单特性使得其在株来具有伤害性 。很多人自学了VB,但映并没有学到好的编程习惯 。当VB进入课 ??的时候,学生们不会学到很多基础的 ??序技术和结构,因为很多技术已经包 ??在那些对用户可见的组件里面了 。不 ??学习标准的编程习惯,因为VB具有可虿化的特性 , 所以导致了一些莫名其妙砄代码的产生 。而且很多错误和警告的栀查默认情况下都是关闭的,程序员很頾找到隐藏的错误 。有经验的程序员在砨VB编程的时候都会把这些选项打开 。??多批评家批评微软简单地拷贝了 BASIC 的思想到VB中 。著名的 计算机 科学家 Edsger Dijkstra说过一句名言:“如果一个学甠最早学过BASIC,那么几乎不可能让他学 ??优秀的编程:因为这些人已经放弃了 ??磐的希望 。1”(Dijkstra对待 Fortran 、 PL/1 、 COBOL 和 APL 同样也毫不留情 。)另外一个笑话是?“真正的程序员不用BASIC 。12岁以下的 ??子才用 。”
- 并不是非常简便 , 它开发的程序只能蛴行在 Microsoft Windows 中 。
- 个头太大了 。Visual Studio 要用好几张盘才能装下 。VB程序在运衠时候还需要一个1.4M大小的 运行库。
- IDE 中有错误 。
- VB不能很好的综合Windows的基础API , 很堚时候要使用低级运算的“小伎俩”来蠛行编程 。而C语言的低级内存运算比VB砄要简单得多 。
支持者
但是很多VB的支持者解释说VB的易用怠就是它最大的优势,可以让经验丰富皠VB程序员或是刚刚懂得皮毛的人都能用 ??己的方式快速开发程序 。而且VB的程堏可以非常简单的和 数据库 连接 。比如利用控件可以绑定数据库?这样一来用VB写出的程序就可以掌握敠据库的所有信息而不用写一行代码 。??多语言的特性比如GoSub、On Error和用变量名字的最后一个字符判斠声明类型(比如字符串型str$)都是从V 中来的 。VB的语法和绝大部分语言都不 ??,可能会让新的程序员混淆 。比如声 ??“Dim a,b,c As Integer”声明了c为整形变量 , 但是a、b ??是Variant类型的 。还有一些特性 , 比 ??下划线字符“_”用于一行代码分多衠写时候 。一些程序员在使用的时候由亠不规范使得便引起报错 。
总结
VB会吸引更多的赞誉和批评,也会继砭为广大的用户和程序员使用 。它非常顶合用来开发拥有友好界面的程序(比堂针对终端的数据) , 但是不适合开发堶它程序(比如联合计算程序) 。
VB不拥有的特性
- 继承。VB5和VB6都是面向对象的编程语言,?是不包含继承特性 。VB中提供了特殊皠类的功能,但是还是不能满足程序员皠需求 。Visual Basic .NET 包含了所有面向对象的特性 。
- 多线程 支持
- 异常处理。VB.net中使用了Try-Catch-Finally来处理张常 。而VB中只有"On Error Goto line"语句 。
- 对 指针 的支持非常有限 。
- VB只能支持8到32位的 整形,很多语言都有无限制的支持 。
- VB不允许在任何数组内存在不变的变釠 。VB不支持以上特性,程序员需要自报建构方法来实现相似的功能 。
VB革命
VB1.0于 1991年 发布 。这个连接编程语言和用户界面砄进步被称为Tripod(有些时候叫做Ruby) ??最初的设计是由 阿兰·库珀 (Alan Cooper)完成的
时间线
- 1991年 4月,Visual Basic 1.0 Windows版本发布
- 1992年 9月 ,Visual Basic 1.0 DOS版本发布 。
- 1992年 11月,VB2.0发布 。它对于上一个版本的界靠和速度都有所改善 。
- 1993年 夏天,VB3.0发布 , 分为标准版和专业它 。其中包含一个数据引擎,可以直接诠取Access数据库 。
- 1995年 8月 ,VB4.0发布了 32位 版本和 16位 的版本 。其中包含了对 类 的支持 。
- 1997年 2月 ,VB5.0发布 。程序员可以用32位的版本 ??入由4.0版本创建的16位程序,并且能頺利编译 。同时还包含了对用户自建控?的支持 。
- 1998年 夏天,VB6.0发布 。
- 2001年 ,Visual Basic.net 和 .NET Framework 发布 。由于其使用了新的核心和特性?所以很多VB的程序员都要改写程序 。
- 2003年 , Visual Basic.net 2003和.NET Framework 1.1发布 。
- 2004年,微软开放了 Visual Studio .NET 2005的 测试 版本(代号Whidbey) 。包含了.NET Framework2.0的测试版本 。
- 2005年 ,微软宣布将不会再对非.NET版本的VB蠛行支持 。VB社群立即作出反应表示关忠这个消息,一些老用户还递交了希望胠够继续对VB进行技术支持的请愿书 。微 ??目前还不愿意改变他们的决定 。
- Visual Studio.net 2005会在 2005年 11月7日 发布 。
概述: 下一个版本的Microsoft Visual Basic 主要有以下三方面的改进:Web Forms、Web services和面向对象的语法方面的改进 。Web Forms使得经验丰富的Visual Basic用户可以象现在编写单机程序一样简单地开发网络应用程序 。通过SOAP 接口, Web services让你在可以联网的任何地方配置你所设计的组件 。另外,几个在面向对象的语言方面的关键性的改进使得Visual Basic的代码象C一样具有灵活性,这几方面的改进包括继承性、多态性和重载 。有关这方面的内容可以参考Steve Ballmer 的“VBITS keynote on the next generation of Visual Basic”
Visual Basic 已经经历了很多次的改进 。然而从它诞生以来,我就一直喜欢它的一点是:就它的核心而言,你仍然可以象1991年一样的编写你的程序 。当然 , 和那时相比它的软件包已经有了很大的增强,但是这些改进一般是补充性的,并没有模糊作为编程工具本身具有的目的,这个目的就是:使Visual Basic能更简单快捷地用于设计、编写和调试出优秀的面向对象的应用程序 。
当前使用的Visual Basic 6.0版本引入WebClasses作为一种简化手段,用于配置健壮的面向网络的应用程序 。事实上,WebClasses提供了大量的途径可以通过常见的工具把程序移植到网络上 。(关于Visual Basic 6.0在网络下的可伸缩性的详尽讨论可以参见Ted Pattison的”Advanced Basics column”( Microsoft Internet Developer于1999年十月出版发行)
最近了解到了下一个版本的Visual Basic计划采取的一些新的改进 。其中主要的改进是在存储容量方面,开发者可以使用的存储容量扩大了三倍 。下一个版本的Visual Basic计划将采用Visual Studio环境中叫Web Forms的特性 。Web Forms代表着一种全新的组件化的网络解决方案 。Web services将成为一种新的基于XML的方案 , 它通过标准的网络协议发布中间层的事件处理功能 。同时,Visual Basic 语言将包括一些开发者长期以来一直要求的结构,这使得Visual Basic符合那些C和Java使用者所熟悉的面向对象的编程习惯 。在下一个版本的Visual Basic的测试版中,这些改进将会被公布 。
下一个版本的Visual Basic所发生的变化是令人惊喜的 。如果你想获得它们所带来的那些好处,那就使用它们 。如果你不想,你可以理直气壮的使用你目前仍然使用的 。然而,了解在象Visual Basic这种比C和Java容易使用的多的语言中,也可以实现C和Java所实现的功能,是有好处的 。
未来的发展趋势
这种预览式的介绍你留下了什么样的印象呢?这个问题问得很好,但是你可以找到问题的答案 。在过去的一年中,可以明显的看到ASP开发的变化,这些开发程序常常由一些易读的ASP脚本组成,在这些脚本的基础上运行整个程序 。由于ASP是对整个脚本代码进行解释执行的 , 在对各组件进行组装时,人们逐渐发现这种技术的固有的局限性 。我听到越来越多的开发者说,他们要把他们的事件处理函数从脚本代码中完全脱离出来,放在更快捷的编译方式的模型下实现,这些模型用C++或Visual Basic编写 , 通过COM接口进行组装 。
对于你所能想到的各种理由,Visual Basic都是能够满足的 。使用Visual Basic来设计组件实际上并不比使用VBScript或JScript?困难多少 。你可以编写执行起来更快的代码 , 并且很容易就能达到你的要求 。当下一个版本的Visual Basic发布后 , 你可以使用Visual Basic来生成面向网络的对象,这种对象和ASP兼容 。总之,走组件组合的路线不管是现在还是将来都会被认为是最好的选择 。
正如我前面时候提到的那样,使用Visual Basic(和WebClasses)编写的面向Internet的应用程序已经有很广泛的基础 。问题是,大部分的基于WebClasses的应用程序并没有经过很好的设计 。它们没有很好地区分应用程序的不同的层次,把中间层的过程和基于DHTML的用户界面混淆了 。
下一个版本的Visual Basic将引入WebClasses,它是经过精心挑选后确定的网络开发的工具 。因为它更具有scalable、更强大、而且是真正的language-agnostic 。它在Visual Studio的所有的工具中起作用 。如果你注意多层开发的一些基本规则,你可以很容易地完成这个转变 。特别要注意,把中间层过程和显示层过程分开 。强烈推荐在做这些工作时,参考Windows? DNA 2000的体系结构 。核心的事件处理功能必需在中间层完成,你可以使用各种你所喜欢的编译语言编写的用于实现这些功能的各个组件 。然后,这些组件组装在一个ASP脚本文件中,这样各组件就可以协同工作了 。如果你把大部分的逻辑运算放在事件对象中而不是脚本中的话,那就是最理想的了 。它不仅对将来向Web services转变是一个好的主意 , 它也是一种值得效仿的实践 。
【关于Vb.Net大小不敏感的信息】关于Vb.Net大小不敏感和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- 什么是变色的视频,什么是变色的视频软件
- jquery中文时间控件,jquery时钟插件
- 电商如何优化店面,优化电商环境我该怎么做
- c语言中文二分搜索函数 c++二分搜索
- linux大小排序命令,linux命令 排序
- kalipostgresql更新,kali更新sqlmap
- 黑暗系解谜冒险游戏,黑暗系解谜冒险游戏怎么玩
- php项目数据库配置 php中数据库怎么设计
- linux命令行修改掩码,linux修改子网掩码命令