新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
.NET 的环境只有一个,就是.NET Framework
创新互联网站建设服务商,为中小企业提供成都做网站、成都网站设计服务,网站设计,网站托管运营等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出创新互联。
如果你是XP系统的话一般要安装4.0版本
下载的软件当然是visual studio;你可以使用visual studio2015,但是要注意开发时要选择对应的目标框架
只要在这里能看到.NET Franmework4.0就表示你安装好了
打开VS , 选择VisualBasic -- Web -- ASP.NET Web 应用程序
如下图:
C#.net优点:
运算符重载。不安全代码(指针和固定内存区)、 无符号整数、移位运算。
VB的优点:
即时编译、静态事件绑定、条件异常捕获、COM兼容类、宽松的类型检查和变量声明、Visual Basic Runtime库、可选参数、带参数属性、模块等语言特征、动态数组。
通过VB.NET开发好的程序绝对没有问题(包括Direct X游戏开发)。虽然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)-提供大量应用类库,提高开发效率。
学习NET Framework 是所有.NET开发人员都必须的,否则开发NET程序永远都是停留在‘外功’的招式,NETramework 是NET开发高手的‘内功’修行之一。
2、C#是一个程序设计语言,仅仅是一个语言。
程序设计语言仅仅是为了方便开发人员和计算机沟通的工具,虽然 C#语法相对 C 和 C+要多一些,但是相对来看 C#语法都比较固定,这样使用起来却都很容易。我认可一位朋友说的,C#的语法更严谨!
这里回过来看看NET和C#的关系,不得不提的是NET程序的执行过程。
C#符合NETCLR 中的公共语言运行规范。CLS:commonlanguagespecification,当然所有的NET Language 都是符合这个规范的例如: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的主要语言,可以用在网站,桌面应用等方面。可以算是一种比较流行的编程语言。
一 引言 对于ncf(net精简版的英文缩写)开发人员 应用程序选项保存一般只有两种途径选择 将选项的值写入注册表 但如果所有应用程序都将值大量写入注册表的做法最终将导致注册表过大占用系统资源 而影响系统的运行效率 而且这就是很多软件在硬启设备之后不得不重新安装的原因 根据现代程序编写中 程序尽可能与系统独立 的思想 这种做法不推荐使用 将选项值以一个初始化文件的方式保存 这样做可以最大限度避免系统资源占用 提高程序运行独立性 这种做法个人认为是较为可取的方案 并且这种做法完整版中实现非常简单 可以直接用Xml序列化类来实现 但在专为智能移动设备定做的net精简版中 由于不提供XML序列化属性 使得保存和使用程序选项变得郁闷起来 程序开发人员不得不对每一个程序选项作写入/读取文件的编码 这个枯燥无味的步骤绝对不会是一件有趣的事情 二 功能概述 本文中 我将利的反射功能 构建一个自动完成初始化文件的保存/读写功能的类 在这个类中 只要程序作者在类内部按程序选项的名称定义好类的内部成员变量(由于这个步骤仍然需要程序员进行类内的手工编码 所以称这个类为半自动初始化类) 这个类就自动将程序选项从初始化文件中保存/读取的工作 程序员不必再进行繁琐的读写文件部分的编码 而且 这个类的构建还可以有一个好处 由于应用程序的选项都以成员变量的形式保存在类的内部 程序员可以利用VS提供的自动列出变量成员的功能查询初始化文件的选项 例如这样写 string myAPPname= tobjAPPOption General APPName 据我所知 记住大量的程序选项的确切字符也不是什么好玩的事哦 ) 三 程序实现先决条件分析 初始化文件内容的需求我们首先分析观察一个标准的windows初始化文件win ini内容 [windows]load=run=NullPort=Nonedevice=HP LaserJet L PCL PCL EMS \\E A B \HPLaserJ [Desktop]Wallpaper=(无)TileWallpaper= WallpaperStyle= 该初始化文件的内容用方括号括住的部分我们称为初始化文件的节 每一节下都组织了一系列与节有相应功能的程序选项 如desktop节下就含有桌面墙纸(Wallpaper)/桌面墙纸铺设(WallpaperStyle)的设置 在初始化文件中程序的选项大都可以用字符串/数字这些简单的数据类型进行保存 根据这一需求 考虑到目前中使用xml文件非常方便 而且使用xml格式除可实现常规windows初始化文件的功能外 还可以多出树形结构组织的优势 所以本文设计的初始化文件确定采用xml文件格式 并作以下格式的XML文件的元素定义 Net对象以XML元素保存使用的格式定义 Net对象的定义 Class ObjectName=对象名称 ObjectType(数据类型)=数据类型 数据内容 /数据类型 数组的定义 目前本类中实现的数组只支持string的一维数组 Array ObjectName=对象名称 ObjectType=数据类型 Length=数组大小 元素定义/Array 如果数组数组为nothing则格式如下 Array ObjectName=对象名称 ObjectType=数据类型 Length= nothing/Array 简单对象的定义 int String等 SimpleObject ObjectName=对象名称 ObjectType(数据类型)=数据类型 数据内容 /数据类型 当SimpleObject代表数组内的元素时 objectname代表数组的维数 ObjectName ObjectType Lenght 属性的使用举例如下 例如Redim mai Test( ) As String ObjectName取值为mai Test ObjectType取值为string[] Length 值为
中有一种称之为反射的功能 可以枚举特定类型对象所包含的成员变量的类型及储存值 这个功能经常被一些普通程序员忽略 认为用途并不大 但在本文中 这一功能将成为构建半自动化初始化对象的核心 我们正需要这种功能将写在初始化类中的变量类型和值自动向初始化文件保存或读取 需要使用的反向类型方法及说明如下表
四 程序实现核心代码注释 我将这个半自动初始化文件类命名为clsAPPOption 类内结构及包含过程的功能说明如下 两个区域#Region 应用程序使用的选项结构定义 #Region 应用程序选项的变量声明 中的内容是按初始化选项级组织的类及类的实例 每一个类表示程序选项的一个初始化节 必须由最终使用者根据实际选项需要自行手工补充 fnGetAppDirectory:取得应用程序的运行目录 *** InitialDefaultAPPOption 设置程序选项的默认初始值(这个过程中的代码需根据实际需要手工修改) fnSaveAppOption 将类内的程序选项保存到一个指定的文件中 (这个过程中的部分代码需根据实际需要手工修改)fnLoadAppOption 在指定的文件中读取应用程序的选项信息并保存到当前类中(这个过程中的部分代码需根据实际需要手工修改) fnXMLElementToSimpleObject 将一个XMLElement转为它代表的简单对象 所谓简单对象就是诸如int \int 之类的基本net对象 fnXMLElementToClassObject 将一个XMLElement转换为它代表的类对象 fnXMLElementToArray 将一个XMLElement转为它代表的数组 fnArrayToXML 将一个数组放入XML文件中 目前只支持一维数组 例如dim aString( ) as stringfnClassObjectToXML 将一个类对象转换为xml元素的表示形式 fnSimpleObjectToXML 将一个简单对象改为XML元素表示注 其中fnXMLElementToXXXX和fnXXXXToXML功能相对应 互为反函数 程序的实现是非常简单的 fnClassObjectToXML对指定的类进行反射操作 使用类的类型的GetFields方法枚举类内的成员变量信息 然后根据成员变量的类型调用fnSimpleObjectToXML或fnArrayToXML 在函数结束的时候 将要转换的类以一个XMLElement对象的形式返回
tobjClassObjectType = ni_objClassObject GetType 取得类的类型 以利于反射调用
… 其它代码REM 以结构内的所有值进行反射取值 并存入xml对象中
For Each tobjFieldInfo In tobjClassObjectType GetFieldsIf tobjFieldInfo FieldType IsArray = False Then 只是一个简单类型 直接取得值tobjXMLElement = fnSimpleObjectToXML(tobjFieldInfo GetValue(ni_objClassObject) _ni_objXMLDocument _tobjFieldInfo Name)tobjXMLClassObjectElement AppendChild(tobjXMLElement)ElseREM 如果是一个数组类型 则进行数组方法的调用以取得值 目前只支持一维数组元素tobjXMLElement = fnArrayToXML(tobjFieldInfo GetValue(ni_objClassObject) ni_objXMLDocument tobjFieldInfo Name tobjFieldInfo FieldType FullName) 将数组对象放入结构的xml对象中tobjXMLClassObjectElement AppendChild(tobjXMLElement)End If
fnSimpleObjectToXML的实现也很简单 根据前文确立的简单对象的定义 fnSimpleObjectToXML过程所要生成的xml对象的几个要素可以这样获取 ObjectName在f nClassObjectToXML作反射后已经获取 并以参数传递的方式在调用fnSimpleObjectToXML时提供了 ObjectType数据类型则可以利用ni_objSimpleObject GetType FullName方法取得 ni_objSimpleObject就是在函数调用时传入的简单对象的值 在编写fnArrayToXML过程时出现了一点小问题 由于调用方不可能要求数组的元素逐个传入 所以对数组的元素个数以及元素的值无法在函数中以对象反射的方式直接获取 幸运的是 在Net反射操作中 可以利用Invoke方法来调用原始对象内的函数或属性过程 而数组的共享方法GetLength GetValue功能适好是取数组元素个数及指定下标的元素值 所以问题立刻迎刃而解
利用反射调用数组的getLenght方法取得数组的大小 这里仅支持一维数组 但对于初始化文件已足够用了tobjXMLAttribute = ni_objXMLDocument CreateAttribute( ArrayLength )tobjMethodInfo = tobjArrayType GetMethod( GetLength )ReDim taobjParameter( )taobjParameter( ) = ti Tempa = tobjMethodInfo Invoke(ni_objArray taobjParameter)tobjXMLAttribute Value = ti TempatobjXMLElement SetAttributeNode(tobjXMLAttribute)tobjXMLAttribute = Nothing 加入数组的内的元素For ti LoopA = To ti Tempa 利用反射取得数组的GetValue方法取得实际元素的值 ReDim taobjParameterType( )taobjParameterType( ) = GetType(Integer)tobjMethodInfo = tobjArrayType GetMethod( GetValue taobjParameterType)ReDim taobjParameter( )taobjParameter( ) = ti LoopAtobjTempa = tobjMethodInfo Invoke(ni_objArray taobjParameter) 将数组元素放入对xml对象中tobjXMLElementA = fnSimpleObjectToXML(tobjTempa ni_objXMLDocument ti LoopA)tobjXMLElement AppendChild(tobjXMLElementA)Next ti LoopA
从XML转为net对象的过程基本都没有什么技术难度 我只是根据xml中包含的ObjectType信息简单获得简单对象的类型 然后直接调用net强制转换类的功能将XML文件中指定的对象储存的数值重新恢复为原来的net对象 代码如下
根据XMLelement结构元素中指定的对象类型 建立对象tobjType = Type GetType(tobjXmlSimpleObjectElement GetAttribute( ObjectType ))tobjReturnSimpleObject = Convert ChangeType(tobjXmlSimpleObjectElement InnerText tobjType Nothing)
对于Xml转为数组用数组 转为类对象的方法可以参阅本文所附源代码 初始化文件类实例的调用 类定义完成以后 可以在程序的全局范围定义初始化类的实例 在模块内定义就可以了
Public gobjAppOption As New clsAPPOption
可以在程序启动的时候读初始化文件信息到类中 我是放在主窗体的load事件中的
读取程序的选项gobjAppOption fnLoadAppOption()
可以在程序的任意地方保存当前半自动初始化类的值到xml文件中 我在主窗体的closed事件中加入保存代码
gobjAppOption fnSaveAppOption() 保存应用程序的选项
程序的任意地方你都可以调用半自动初始化文件类的实例来读取/保存程序选项的当前值
可以很好地利用VS提供的自动列出成员的功能列出程序选项 读取选项的示例代码MessageBox Show(gobjAppOption mobjAPPGeneralOption astrShowFileFilter( )) 保存选项的示例代码 gobjAppOption mobjAPPGeneralOption astrHideFileFilter( ) = * zip
lishixinzhi/Article/program/net/201311/13951
vb.net编程工具是:Microsoft Visual Studio 2008
1、Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005一次及时、全面的升级。
2、VS2008引入了250多个新特性,整合了对象、关系型数据、XML访问方式,语言更简洁。
3、使用Visual Studio 2008可以高效开发Windows应用。
4、设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。
5、Visual Studio 2008支持项目模板、调试器和部署程序。
6、Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。