vb.net是基于.NET框架的完全对向对象的编程语言,而vb 6.0只是半面向对象的语言,使用vb.net可以编制出功能更加强大的windows程序。现在,我们把vb.net和vb 6.0做一下比较,看看vb.net对比vb 6.0有着什么样的特性和优点。 1.在vb 6.0中,创建对象的时候,需要等这个对象创建完毕后,再另外调用一个独立的方法对其进行初始化。在vb.net中, 可以利用构造函数为对象赋初值,这样就不需要进行烦琐的调用赋初值了。构造函数的使用,简化了编码的过程和出错的机会。 2.vb.net编写线程的能力比vb 6.0有很大的增强。 3.在vb 6.0中,需要首先声明一个变量,然后才能对其赋值,这样就需要写两行代码。在vb.net中,可以 使用初始化函数将这两个步骤合并在一行代码中完成,这个似乎微小的改进,提供了更少、更简单、更易于维护的代码。 4.vb.net基于.NET框架,开发者可以快速的可视化开发网络应用程序、网络服务、Windows应用程序和服务器端组件。 5.因为vb.net是基于.NET框架的,可以与其它.NET语言协同工作。 6.在vb.net中,通过Web窗体及ADO.NET,开发者可以快速开发可扩展的Web站点。 如果你能进一步学习vb.net,你会发现更多的新特性和优点。
专注于为中小企业提供网站建设、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业石门免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
C#.net优点:
运算符重载。不安全代码(指针和固定内存区)、 无符号整数、移位运算。
VB的优点:
即时编译、静态事件绑定、条件异常捕获、COM兼容类、宽松的类型检查和变量声明、VisualBasicRuntime库、可选参数、带参数属性、模块等语言特征、动态数组。
通过VB.NET开发好的程序绝对没有问题(包括DirectX游戏开发)。虽然VB.NET的资料少,但是只要C#支持的VB.NET都支持(大体上这样,因为都要经过MSIL中间环节。除了指针之类的VB.NET不支持C#支持,但是没有多大实际用处)。
vb.net的资料以英文资料居多(只有英文资料才有看头,中国的没有什么好资料),得看看英文水平过不过关。还有VB.NET的ide也比C#的IDE好得多,代码看得也舒服。(C#的大括号{}太烦人)。
至于VB6对C的帮助,只是理解上会容易一些,其它用处不大。有VB6的基础学VBNET会方便一些,但是并不是会VB6就会VB.NET,它们差别也不小。
扩展资料:
NET、C#和ASP.NET之间的区别:
1、NET是一个平台,一个抽象的平台的概念。
NET平台其本身实现的方式其实还是库,抽象层面上来看是一个平台。
基本可以理解的NET核心就是NETFramwork。
NETFramework包括两个关键组成元素:
a.CommonLanguageRuntime,公共语言运行时(CLR0)-提供内在管理,代码安全性检测等功能。
b.NETFrameworkClassLibrary,.NET框架类库(FLC)-提供大量应用类库,提高开发效率。
学习NETFramework是所有.NET开发人员都必须的,否则开发NET程序永远都是停留在‘外功’的招式,NETramework是NET开发高手的‘内功’修行之一。
2、C#是一个程序设计语言,仅仅是一个语言。
程序设计语言仅仅是为了方便开发人员和计算机沟通的工具,虽然C#语法相对C和 C+要多一些,但是相对来看C#语法都比较固定,这样使用起来却都很容易。我认可一位朋友说的,C#的语法更严谨!
这里回过来看看NET和C#的关系,不得不提的是NET程序的执行过程。
C#符合NETCLR中的公共语言运行规范。CLS:commonlanguagespecification,当然所有的NETLanguage都是符合这个规范的例如:VB.NET、XAML和C++/CL等等。
C#需要符合NETCLS,是因为NETCLR和JAVA虚拟机类似,有一个中间语言共机器来执行。所有不同语言的.NET代码在执行前会被编译成同样的中间语言(MSIL),所以所有NET支持语言都必须符合符合CLS规范。
P.S:如果做.NET3.0XAML开发的朋友,可以尝试下ildasm.exe看看XAML的应用程序,会发现原来XAML其实很简单。
3、ASP.NET是一个网站开发的技术,仅仅是.NET框架中的一个应用模型。
用微软公司ASP.NET快速入门中的一句话来解释,ASP.NET是用于生成基于Web的应用程序的内容丰富的编程框架。
ASP.net和C#的区别:
编写asp.net通常包括两部分的代码:网页层和后台处理层,网页就是用标记语言来写的,而网页对应的后台处理程序则需要.net语言来完成,目前主要是采用c#和vb.net。
可以说整个的asp.net网站通过c#或者vb.net来实现。而c#则是ms.netframework的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。
我们先简单的了解一下什么是消息队列(MSMQ)?消息队列是 Windows (NT也有MSMQ WIN / /me/xp不含消息队列服务但是支持客户端的运行)操作系统中通讯的基础 也是用于创建分布式 松散连接通讯应用程序的工具 这些应用程序可以通过不同种类的网络进行通讯 也可以与脱机的计算机通讯 消息队列分为用户创建队列和系统队列 用户队列分为
· 公共队列 在整个可传递消息的 消息队列 网络中复制并传输 并且有可能由网络连接的所有站点访问
· 专用队列 不在整个网络中发布 相反 它们仅在所驻留的本地计算机上可用 专用队列只能由知道队列的完整路径名或标签的应用程序访问
· 管理队列 包含确认在给定 消息队列 网络中发送的消息回执的消息 指定希望 MessageQueue 组件使用的管理队列
· 响应队列 包含目标应用程序接收到消息时返回给发送应用程序的响应消息 指定希望 MessageQueue 组件使用的响应队列
系统队列分为
· 日记队列 可选地存储发送消息的副本和从队列中移除的消息副本
· 死信队列 存储无法传递或已过期的消息的副本
· 专用系统队列 是一系列存储系统执行消息处理操作所需的管理和通知消息的专用队列
现在大家对消息队列有了简单的了解后 就该进入主题了 要使用m *** q进行软件开发需要安装m *** q 安装完后就该进入实际的开发阶段 先打开vs net ide中的 服务起资源管理器 展开你想建立消息队列的计算机名 再展开 消息队列 右击它在弹出菜单中选择 新建 建立一个新的消息队列 并为它指定一个名字 这个名字可以随意 也可以通过编程来完成 代码如下
system Messaging MessageQueue Create( \Private$\MyPrivateQueue ) 建立专用队列System Messaging MessageQueue Create( myMachine\MyQueue ) 建立公共队列
其实我认为使用那中方法并不重要 重要的是搞清楚专用队列和公共队列的差别(其他队列不是必须的) 在本例中是通过 服务器资源管理器 分别在服务器上建立了专用队列和公共队列
程序功能 本程序分为两部分包括服务器程序(安装在sql server服务器上)和客户端程序 客户端的作用是用来编写t sql语句并将t sql语句放在消息中 并将消息发送到sql server服务器上的消息队列中去 服务器程序检查指定的消息队列当发现有新消息到达时 就开始执行消息中的内容 由于消息中的内容是t sql语句所以服务器端实际上是执行对数据库的操作
客户端程序
public Sub client()Dim tM As New System Messaging MessageQueue()tM Path = \Private$\jk FORMATNAME:PUBLIC= d dc c fd ce d b e d 与指定计算机中的消息队列建立连接 Dim newMessage As New System Messaging Message(TextBox Text) 接受文本筐的t sql语句newMessage Label = This is the label 消息名字 tM Send(newMessage) 发送消息End Sub
服务端程序
public Sub server()Dim NewQueue As New System Messaging MessageQueue( \Private$\jk ) FORMATNAME:PUBLIC= d dc c fd ce d b e d 与指定计算机中的消息队列建立连接 Dim m As System Messaging Message 查看消息队列中的消息m = NewQueue Receive m Formatter = New System Messaging XmlMessageFormatter(New String() { System String mscorlib })Dim st As Stringst = m Body 消息队列中消息的消息内容 既sql语句Dim con As New OleDb OleDbConnection( 输入自己的数据库连接字符串 )con Open()Dim As New OleDb OleDbCommand(st con) 执行消息中的sql语句 ExecuteNonQuery()con Close()End Sub
我为什么要使用消息队列来处理数据库的操作这个问题我一直没回答 现在我就来回答这个问题 在本程序中你会发现在sub client()中我并没连接数据库和请求数据 而是通过发消息来操作数据库的 这个好处是节省了两部分时间
对数据库连解请求数据的时间
从数据库返回数据的时间
在很多情况下其实我们并不需要看见具体的数据就知道该怎么修改数据库中的数据 例如要删除张三的记录 就可以将一条简单的删除语句放入消息中 发给服务器让服务器程序去处理对数据的更改
此外消息队列的另一个主要用途也就是当前erp软件中必不可少的 就是在断开连接时保存信息 当连接恢复时发送消息 消息在如下两种情况中无法迅速地传递到它们的队列 当队列驻留的计算机无法工作时 或当路由消息所需的域控制器无法工作时 消息队列 可让您应对这些情况 使得在从网络上断开连接或必要的计算机或控制器无法工作时 仍可以继续发送消息 在这些情形下 消息暂时存储在本地计算机或传递路由上的某个计算机的队列中 直到完成传递所需的资源重新联机
例如 假设有一个记录所有在出差的销售人员发送的订单的中央队列 这些销售人员每天的大部分时间都以断开连接的方式工作 记录来自客户站点的订单信息 并且每天拨号连接一次 将所有这些信息传输到中央队列中 因为消息在发送方断开连接时仍可发送到队列 所以销售人员可以在记录客户信息时立即发送他们的消息 但系统会缓存这些消息直到晚间进行拨号连接为止
在断开连接时要怎么保存消息呢?向断开连接的队列发送消息同向可用队列发送消息的过程几乎完全相同 当要向其发送的队列不可用时 不必进行任何特殊的配置以使组件将消息存储在临时队列中 在client代码的tM Path = \Private$\jk 后面有一条注释语句 其实这条语句就是实现向断开连接的队列发送消息的功能 只要将tM Path = \Private$\jk 这条语句换成tM Path = FORMATNAME:PUBLIC= d dc c fd ce d b e d 其中PUBLIC后面的数字是要发送到计算机的guid数字 这个数字可以打开那台计算机的消息队列的属性看见 使用这种方法就可以在断开连接的情况下保证对服务器的操作是有效 现在运行这个程序后 打开win 中的 开始 》 程序 》 管理工具 》 计算机管理 在 计算机管理 窗口中展开 服务和应用程序 》 消息队列 》 传出队列 你将在右边的窗口中看见你建立的消息 (如果你使用tM Path = \Private$\jk 语句 在 计算机管理 窗口中展开 服务和应用程序 》 消息队列 》 专用队列 可以看见你建立的队列 )
其实消息队列的编程并不复杂 但它在网络环境的程序开发中是非常有用的 可以简化大量的开发过程和节省开发时间
其实消息队列的编程有很大的灵活性 几乎可以解决网络编程的大部分问题 比如聊天程序 远程控制程序
本文针对消息队列做了一个简单的介绍 并举了一个例来说明怎么在 net下使用消息编程 达到快速高效稳定的对数据库进行操作 最后补充要说的是在internet中也一样可以使用消息队列 只需要将tM Path = FORMATNAME:PUBLIC= d dc c fd ce d b e d 语句后面的数字变成消息队列所在服务器的数字就可以了 但是要提醒大家的是使用消息在传输时将占有大量的带宽 所以在不是必须的时候 internet下的编程不要使用消息
lishixinzhi/Article/program/net/201311/15668
Visual Basic .NET Visual Basic.NET是基于微软.NET Framework之上的面向对象的中间解释性语言,可以看作是Visual Basic在.Net Framework平台上的升级版本,增强了对面向对象的支持。但由于改动太大,导致VB.net对VB的向后兼容性不好,在业界引起不小的争议。 大多的VB.Net程序员使用Visual Studio .Net作为IDE(integrated development environment). SharpDevelop是另一种可用的开源的IDE。VB.Net需要在.Net Framework平台上才能执行。 VB.NET的主页 1 目前版本 2005年9月以来,存在三种不同版本的Visual Basic .NET. 1 Visual Basic .NET:是随vc#和ASP.NET一起在2002年发布的最初始的VB.net版本。C#被大力宣传为微软对付JAVA的王牌,受到媒体极力关注。然而VB.NET(有时被称为VB7)影响面不广,这导致VB社区之外很少人关注它。那些试用过此版VB.NET的人在层层幕布下发现一个强大却艰深的语言,而且还有不少弱点,比如它比VB6来有一个大了十倍的进行时(RunTime),内存footprint也大大增加。 2 Visual Basic .NET 2003:是和.NET Framework 1.1一起发布的。新功能包括对.NET Compact Framework的支持和更好的VB升迁向导。并改进了运行状况,IDE稳定性(尤其是后台编译器),以及运行时RunTime稳定性。另外,VB.NET 2003还有一个学院版Visual Studio .NET 2003 Academic Edition (VS03AE),它是分发给各国某些学者免费使用的版本。 3 Visual Basic 2005:VB2005是VB.Net的重大转变,微软决意在其软件名称中去掉了.NET部份。在VB2005中,微软增加了许多新功能,以引用VB对于初学者来说的一些优点: A, Edit and Continue - 也许是从VB那里丢掉的最大的功能,允许代码的编辑和执行立即的执行恢复。 B, Design-time expression evaluation C, My伪命名空间,提供了访问.NET Framework特定域的不需大量编码的简单方式;还能动态产生类(显然的是My.Forms);提供了改进的VB到VB.NET转换向导;Using 语法,简化了需要部署pattern to free resources的对象的使用;My编码,可隐藏由VB.NET IDE写的模板代码;数据源绑定,简化了数据库C/S开发 上述功能(尤其是My)增强了VB.Net成为快速开发应用平台的可能,并与C#进一步区别开来。参见: 使用My开发 通过My命名空间访问.NET Framework 和项目 Visual Basic 2005 通过增加新功能而填补了和其它所谓更强大的.NET语言的差距。 A, 增加了.NET 2.0语言功能包括:generics和Partial类(在一个文件里定义一个类的某部份然后再添加更多的定义,这个方法在整合用户编码和系统自动生成编码时尤其有用)。 B, XML注释,可以被NDoc等工具处理而自动生成文档 C, operator overloading D, 支持在其它语言中已经广泛使用的unsigned integer数据类型。 E, 支持在许多C衍生编程语言已提供的复合操作符如:"+=", "-=" 4, IsNot专利:If Not X Is Y表达式被转换成If X IsNot Y。当微软为IsNot申请专利时招致了恶名(尤其来自Real公司)。 5, Visual Basic 2005 Express:作为VS产品线上的一部份,VB2005 Express是专为业余爱好者和新手定制的免费的VS Express系列的一员。Express版本目的定位在帮助人们学习一种语言,所以他们有和标准版一致的用户界面,只是少了一些高级功能。另外,VS 查看更多答案
记得采纳啊
打开VS , 选择VisualBasic -- Web -- ASP.NET Web 应用程序
如下图: