在好例子网,分享、交流、成长!
您当前所在位置:首页ASP 开发实例VB编程 → Visual Basic .NET 学习笔记-语法入门篇

Visual Basic .NET 学习笔记-语法入门篇

VB编程

下载此实例
  • 开发语言:ASP
  • 实例大小:2.89M
  • 下载次数:5
  • 浏览次数:18
  • 发布时间:2021-10-16
  • 实例类别:VB编程
  • 发 布 人:子正隆辉
  • 文件格式:.pdf
  • 所需积分:1
 相关标签: Visual Basic Basic .NET NET 入门

同类人气实例

实例介绍

【实例简介】Visual Basic .NET 学习笔记-语法入门篇.pdf
本笔记旨在介绍 Visual Basic .NET 的基础语法知识和.NET 框架的一些最基本的类的使用。本笔记不专门讲 Windows 窗体等界面元素,但本笔记所描述的技术都适用于这些界面元素,或者可以说是这些界面元素的基础,如果要深入了解的话,就必须熟悉本笔记所讲的内容。
因为本笔记介绍的是最基本的语法,因此适合没有编程基本的人员阅读。如果您是初学者,建议您至少分两遍来读本笔记:第一遍通读,遇到不明白的地方暂先放下;第二遍精读,这一次要去理解每一个概念。另外,建议您多敲代码,可以照抄本笔记中的例子;在有一定的理解的时候,再尝试更改代码的内容并确认更改后效果。

当然,如果有编程基础(如会 VB6.0、C#、或学过基本的 VB.NET 窗体编程),同时想要了解 Visual Basic .NET 语法的编程人员,也非常适合本笔记。

本笔记大部分都是在解释语法,而并非一开始就介绍如何实现某某功能。因为基础语法是硬功夫,不是漂亮的招式,无法立竿见影,因此需要读者有一定的耐心。另外,本笔记使用大量的例子来解释语法,而不是用专业的术语释义来阐述定义,也是为了防止读本笔记时过于枯燥无味。

【目录】

目录
前言 I
第一部分 基础语法 1
第一章 编程概念 3
第一节 编程语言起源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 机器语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 汇编语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 C 语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.4 过程调用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.5 程序入口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.6 语言分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
第二节 面向对象语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 对象与类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.2 预定义与自定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.3 面向对象语言示例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.4 命名空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
第三节 .NET Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.1 库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.3.2 .NET 框架 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.3 CTS 与 CLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.4 .NET 语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.5 程序集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
第四节 Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.1 Visual Basic .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4.2 VB.NET 与 VB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.3 VB.NET 与 C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4.4 VB.NET 的发行版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.4.5 VB.NET 的代码元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.6 语句(语句块) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.7 VB.NET 程序的结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
VB.NET 学习笔记
第二章 基础知识 19
第一节 引例 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Hello, World! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 编译代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.3 运行效果 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.4 代码说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
第二节 类的基本使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.1 类的声明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.2 成员的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.3 类与成员的可访问性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2.4 类与成员的内部使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.5 类与成员的外部使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.6 实例成员与共享成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2.7 顶级类与嵌套类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2.8 模块,一个种殊的类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2.9 初识 Console 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
第三节 方法的实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.1 参数与返回值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.2 局部变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.3.3 变量的初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3.4 赋值语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.5 其它可执行语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.6 静态变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.3.7 共享静态变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.8 静态变量与私有字段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.9 初识数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.3.10 重载方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.3.11 方法递归调用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
第四节 方法的执行顺序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.1 IF 分支结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
2.4.2 Select Case 分支结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.4.3 Do 循环 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4.4 For 循环 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.5 Exit 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.6 Return 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.7 Continue 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.8 标签与 GoTo 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
2.4.9 其它事项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
第五节 类的继承系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.5.1 基类与派生类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.5.2 重写基类的方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
2.5.3 重写方法的可见性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
VI
目录
2.5.4 隐藏其类的成员 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.5.5 基类与派生类的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
2.5.6 重写、重载、隐藏 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
第三章 类型基础 61
第一节 命名空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.1.1 命名空间的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.1.2 命名空间的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.1.3 全局命名空间 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1.4 命名空间的规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.1.5 命名空间的设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.1.6 导入命名空间与类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.1.7 定义别名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
3.1.8 更智能的完全限定名称解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
第二节 类型的基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.1 类型的根类 Sytem.Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
3.2.2 哈希值与相等性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
3.2.3 用 New 来创建对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2.4 值类型与引用类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.2.5 值类型的基类 Sytem.ValueType . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.2.6 枚举的基类 Sytem.Enum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
第三节 基元类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3.1 基元类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.3.2 字面量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3.3 类型字符标识符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
第四节 运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.4.1 算数运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.4.2 比较运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
3.4.3 Like 模式匹配规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
3.4.4 串联运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.4.5 逻辑运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.4.6 赋值运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.4.7 空引用条件运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.4.8 杂项运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.4.9 运算符优先级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
第五节 对象类型与类型转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.5.1 类型对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.5.2 类型对象的类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.5.3 对象类型名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.5.4 NameOf 运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.5.5 TypeOf 运算符 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.5.6 类型推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
3.5.7 类型转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
VII
VB.NET 学习笔记
3.5.8 扩大转换与收缩转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.5.9 隐式转换和显式转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
第六节 初识特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.6.1 特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.6.2 Obsolete 特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3.6.3 InternalsVisibleTo 特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
第七节 结构与元组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.7.1 结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.7.2 元组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3.7.3 命名元组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.7.4 元组的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.7.5 元组的类型推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
第八节 枚举类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.8.1 枚举的定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.8.2 枚举与整型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.8.3 System.Enum 类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
3.8.4 位标志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.8.5 向枚举添加方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
第九节 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.9.1 接口的定义与使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.9.2 实现多个接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
3.9.3 接口的继承 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
3.9.4 继承与实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.9.5 接口与基类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
第四章 成员基础 119
第一节 常量与字段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.1.1 常量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.1.2 只读字段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.1.3 常量与只读字段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
第二节 参数与返回值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.2.1 形参和实参 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.2.2 参数的传递方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
4.2.3 可选参数与命名参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
4.2.4 参数数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
4.2.5 参数数组与可选数组参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
4.2.6 引用返回值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
第三节 构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3.1 构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
4.3.2 构造函数的调用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
4.3.3 重载构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
4.3.4 字段初始值与构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
4.3.5 值类型的构造函数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
VIII
目录
4.3.6 构造函数之外的初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.3.7 只读字段的初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
第四节 属性过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.4.1 属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
4.4.2 属性的可访问性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
4.4.3 属性的读写权限 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.4.4 自动实现属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
4.4.5 属性与字段 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.4.6 有参属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
4.4.7 默认属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
第五节 运算符过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.5.1 运算符的本质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
4.5.2 运算符重载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
4.5.3 比较运算符重载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
4.5.4 转换运算符(CType)重载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
4.5.5 运算符 IsTrue 与 IsFalse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
4.5.6 按位运算与逻辑运算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
4.5.7 短路逻辑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
第六节 扩展方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.6.1 扩展方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4.6.2 扩展方法的优先级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
4.6.3 扩展方法的传值方式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
4.6.4 扩展方法的限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
第七节 Main 过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4.7.1 Main 过程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
4.7.2 命令行参数 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
4.7.3 退出代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
第八节 初识事件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.8.1 事件的相关概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
4.8.2 事件的基本使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
4.8.3 多重绑定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
4.8.4 事件源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.8.5 事件的另一种模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
第五章 类型进阶 183
第一节 部分类与部分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
5.1.1 部分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
5.1.2 部分方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
第二节 匿名类型与方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5.2.1 匿名类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5.2.2 键属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.2.3 匿名方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
第三节 字符与字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
IX
VB.NET 学习笔记
5.3.1 字符类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5.3.2 字符转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
5.3.3 字符串类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
5.3.4 多行字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.3.5 字符串留用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
5.3.6 格式化字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
5.3.7 字符串内插 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
5.3.8 可变字符字符串 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
第四节 对象的字符串表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.4.1 对象的字符串表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
5.4.2 数字的字符串表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
5.4.3 日期的字符串表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
5.4.4 自定义字符串表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
第五节 迭代器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.5.1 IEnumerator 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
5.5.2 IEnumerable 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.5.3 For Each 原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
5.5.4 迭代器方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
第六节 数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.6.1 数组的维度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
5.6.2 数组的初始化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
5.6.3 修改数组的长度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5.6.4 数组的继承体系与转型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
5.6.5 数组的基类 System.Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
5.6.6 数组实现的接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
5.6.7 非零基数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
5.6.8 交叉数组 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
第七节 泛型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
5.7.1 泛型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
5.7.2 开放类型与封闭类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
5.7.3 泛型类型的继承 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
5.7.4 泛型方法的类型推断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
5.7.5 泛型类型的约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
5.7.6 约束的实际作用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
5.7.7 枚举约束 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
第八节 可空值类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
5.8.1 System.Nullable(Of T) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
5.8.2 VB.NET 对可空值类型的支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
第九节 特性(Attribute) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
5.9.1 自定义特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
5.9.2 特性的使用规则定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
第十节 委托与事件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
X
目录
5.10.1 委托 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.10.2 委托链 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237
5.10.3 委托的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
5.10.4 委托的本质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
5.10.5 AddressOf 本质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
5.10.6 Lambda 表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
5.10.7 复杂的 Lambda 表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
5.10.8 委托类型的转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
5.10.9 宽松委托转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
5.10.10 事件的背后 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
5.10.11 事件的宽松转换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
5.10.12 事件陷阱 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
第六章 杂项 255
第一节 Option 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6.1.1 Option Compare 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
6.1.2 Option Explicit 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6.1.3 Option Infer 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6.1.4 Option Strict 语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
第二节 预处理语句 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6.2.1 条件编译 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
6.2.2 禁用警告 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
6.2.3 代码块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
第三节 隐式行继续标志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
6.3.1 逗号分隔式续行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
6.3.2 闭合结构式续行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
6.3.3 运算符式续行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
6.3.4 成员访问式续行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
6.3.5 特性式续行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
6.3.6 集合式续行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
第四节 特殊注释 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.4.1 XML 注释 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
6.4.2 任务列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
第五节 程序集部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
6.5.1 库程序集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
6.5.2 私有部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
6.5.3 全局部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
6.5.4 强名称 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
6.5.5 为程序集签名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
6.5.6 延时签名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
6.5.7 全局程序集缓存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
XI
VB.NET 学习笔记
第七章 阶段实战 269
第一节 数独求解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
7.1.1 功能分类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
7.1.2 程序启动部分实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
7.1.3 界面的运行设计 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
7.1.4 绘制界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
7.1.5 题目的输入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
7.1.6 题目的求解准备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
7.1.7 数独的暴力求解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
7.1.8 数独的智能求解 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
7.1.9 完整的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
附录一 VB.NET 代码约定 321
第一节 命名约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
第二节 布局约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
第三节 注释约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
第四节 其它约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
附录二 编译命令行 323
第一节 控制目标输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
第二节 指定程序入口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
第三节 编译多个文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
第四节 链接模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
第五节 添加引用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
第六节 控制代码生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
第七节 源文件控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
第八节 响应文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
第九节 为程序集签名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
9.1 密钥的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
9.2 延时签名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
附录三 Visual Studio 配置与使用 331
第一节 创建项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
1.1 新建项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
1.2 添加文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
第二节 解决方案文件结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
第三节 主界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
3.1 解决方案资源管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
3.2 类视图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
3.3 代码编辑器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
3.4 工具箱和属性窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
3.5 其它窗口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
第四节 智能提示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
XII
目录
第五节 项目属性设置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
5.1 应用程序选项卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
5.2 编译选项卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
5.3 其余选项卡 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
第六节 配置管理器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
第七节 选项对话框 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
第八节 调试程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
附录四 反编译工具 343
第一节 主界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
第二节 多模块程序集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
第三节 反编译元素 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
附录五 IL 指令大全 347

实例下载地址

Visual Basic .NET 学习笔记-语法入门篇

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警