.NET Framework框架具有两个主要的组件:公共语言运行库和.NET Framework类库。
预编译型代码和解释型代码
预编译型代码: 在编码 完成后并在运行前进行编译的代码。编码之后生成计算机系统对应的二进制代码的可运行程序,此后运行此程序可以直接运行
解释型代码:边执行(在用户请求界面时)边编译的代码。运行时编译一条执行一条,解释过程可以实现很好的跨平台性
编写在.NET FrameWork上运行的程序时(使用C#或VB.NET),需要在使用这些程序之前编译这些可读代码。.NET编译器将程序代码编译成称为MS中间语言(MSIL)的特殊格式。由于MSIL结构不需要像源代码那样易读,因此编译过程包括了一些优化操作。但是,并没针对某台及其进行优化。因此,MSIL具有一般的优化性能,并可以一直到任何的.NET服务器上
当执行MSIL代码时,将其传给CLR,CLR是.NET Framework的另一个核心。CLR使用JIT(just-In-Time)编译器将代码编译成真正的机器码,并对程序进行最后的且与机器相匹配的优化,以展现更好的性能
*just in time :及时
MSIL和CLR组合使用,具有两种编译代码的优点,即预编译代码的结构化和解释型代码的可移植性。
VB中函数名、变量名、关键字不区分大小写
控制台窗口代码编写:
(1)定义类: VB.NET的每一个程序包括至少一个自定义类。这些类称作程序员自定义类过用户自定义类。使用关键字(关键字是VB.NET的关键字)class引导一个类的定义, 其后紧跟着类的名字。End Class用来结束类的定义。
<vb>
Public Class Hello
...
End Class
<vb>
(2)Main方法 : VB.NET程序必须包含一个Main方法,而且必须按照–>(Shared Sub Main())方式定义,main方法时程序的入口点,程序控制在该方法中开始和结束。方法用来执行任务及在任务执行完成后返回信息。
Sub关键字表明该方法将执行一个任务,但完成该任务不返回信息。
Main方法必须具有Shared关键字,是静态方法。Main方法是类的成员
“End Sub”用来结束Sub方法的定义
Shared Sub Main()
...
End sub
(3)输入和输出 :程序通常使用.NET框架的运行时库提供的输入/输出服务。如:
输出
System.Console.WriteLine("Hello");
输入
Dim Str As String
Str = System.Console.ReadLine()
ReadLine()是运行库中Console类的输入方法之一
如果在程序开头包含以下Imports语句:
Imports System
则可以直接使用Console类和方法,无需使用完全限定名。例如:
Console.WriteLine("Hello");
Imports System语句引用一个由Microsoft.NET框架类库提供的名为System的命名空间。命名空间提供了一种分层方法来组织一个或多个程序的元素。Imports语句可以非限定的使用属于命名空间的类。
Windows应用程序编写
代码体:
Imports System.Windows.Forms
Clsss TestHello
Shared Sub Main()
MessageBox.Show("Hello!")
End Sub
End class
vb.net程序员既要考虑自定义类也要考虑重用框架类库(FLC)中的类。
创建一个Windows应用程序,具有一个文本框和两个按钮,点击显示按钮文本框中显示文字,点击清除则清除文字。
- 建立Windows项目,为窗体添加Button控件和TextBox控件
2.将第一个Button按钮Name属性设置为btnShow,将Text属性设置为“显示”。第二个Button的name属性设置为btnClear,Text属性设置为清除
3.
以下略。
按钮中的事件代码:
Private Sub objectName_event(ByVal sender As System.Object,ByVal e as Sysemt.EventArgs) Handles objectName.even
其中,Private、Sub、ByVal、As、Handles、End在VB.NET中具有特殊意义,他们被认为是“保留字”或“关键字”
Private:指明该方法不能被其他窗体或类调用
Handles:确认该事件处理方法处理的是哪一个对象的哪一个事件,若Handles后面是btnShow.Click,表示该方法处理btnShow对象的Click事件。
objectName_Even:事件处理方法的默认名称,自己可以随意改变它的名称。