vb.net学习笔记
来源:互联网 发布:ps动感模糊软件 编辑:程序博客网 时间:2024/04/28 03:40
条件语句
VB.net中条件语句依然是If Then语句和Selecr Case语句。
XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
If Then语句
If Then语句比较简单,和原来一样的规则。
If条件语句举例
Public Class TestA
Public Sub New()
Dim b As Boolean = True
If b = True Then
'处理
Else
'处理
End If
End Sub
End Class
Select Case
Select Case语句用于条件的多个结果的分支判断执行。值得注意的是:Seleect Case的判断表达式必须计算为某个基本数据类型(Boolean、Byte、Char、Date、Double、Decimal、Integer、Long、Object、Short、Single 和 String)。
VB.net的Case 块的执行不能“贯穿”到下一个 switch 节。这称为“无贯穿”规则。所以不需要有Break跳出Case块。
Case字句可以是单一的变量,也可以是To和Is的混合表达式。
Select Csae举例
Public Class TestA
Public Sub New()
Dim i As Int32 = 100
Select Case i
Case 1, 3, 5, 7
'处理
Case 8 To 12
'处理
Case 13 To 21, 25
'处理
Case 31 To 35, 39, Is > 50
'处理
End Select
End Sub
End Class
数组
XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
在VB.net中数组有了很大的改变。首先象在简单赋值章节描述的:数组的索引编号总是从零开始;并且数组的元素类型是强类型,即数组中所包含的每一个元素都必须是相同的类型。
Array对象
在VB.net中使用Dim iArr(5) As Int32这种语法表示的数组实际上是声明了一个Array对象的实例。Array对象是位于System命名空间中。这个对象提供创建、操作、搜索和排序数组的方法,因而在公共语言运行库中用作所有数组的基类。不过虽然Array 类是支持数组的语言实现的基类。但是,只有系统和编译器能够从 Array 类显式派生。用户应当使用语言提供的数组构造。Array对象提供了一些重要的属性和方法,来便于我们操作数组。
Array数组操作举例
Dim iArr(5) As Int32 'iArr.Length=6
Dim bArr(5, 5) As Boolean 'bArr.Rank=2,bArr.Length=36
Array.Clear(iArr, 0, iArr.Length - 1)
For i As Int32 = iArr.GetUpperBound(0) To 0 Step -1 'iArr.GetUpperBound(0)=5
'数组的元素为
iArr.SetValue(i, i)
Next
Array.Sort(iArr) '数组元素经过排序后为0,1,2,3,4,5
For i As Int32 = 0 To iArr.GetUpperBound(0)
'输出数组元素
Next
ArrayList对象
Ayyar的容量是固定的,VB.Net提供的ReDim语句实际上是利用了ArrayList对象的能力。ArrayList是Array的复杂版本。ArrayList其实是把Array当作集合处理,当然就可以将容量根据需要进行自动扩展了。ArrayList既然是以集合的方式处理,所以它当然位于System. Collections 命名空间中了。
不过Array相对于ArrayList来讲也有其优势:Array可以有多个纬度,但ArrayList只可以有一个纬度。在Array的元素中值类型不需要进行装箱和卸箱的操作,所以在值类型方面,Array比ArrayList具有高的多的效率。(数据类型将在后期的类型章节描述。)
使用ArrayList对象更改Array对象容量大小举例
Dim iArr(5) As Int32
For i As Int32 = 0 To iArr.GetUpperBound(0)
iArr.SetValue(i, i) '0,1,2,3,4,5
Next
Dim iArrList As New System.Collections.ArrayList(iArr) 'iArrList.Count=6
For i As Int32 = 6 To 10
iArrList.Add(i)
Next 'iArrList.Count=11
iArrList.Insert(5, 99) 'iArrList.Count=12
iArrList.Capacity = 100 'iArrList.Count=12
iArrList.TrimToSize() 'iArrList.Count=12
iArr = iArrList.ToArray(GetType(Int32))
For i As Int32 = 0 To iArr.GetUpperBound(0) 'iArr.GetUpperBound(0)=11
'输出:0,1,2,3,4,99,5,6,7,8,9,10
Next
数组声明指定需要一个数据类型(可将数组声明为任何基本数据类型、结构或者对象类),数组的所有元素必须都是该类型数据。但是如果数据类型是 Object,则单个数组元素可以包含各种类型的数据(如对象、字符串、数字等等)。
简单的语句介绍,我们就到这里了,其他语句在以后对VB.net的逐步深入中,我们会一一阐述。
循环语句
XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
VB.net中的循环语句分为:Do While Loop、For Next、For Each三种。
Do While Loop
Do While Loop有三种形式,这系列的循环是用于预先不知道循环的上限时使用的。在使用Do While Loop语句时要注意,因为它们是不确定循环次数,所以要小心不要造成死循环。
Do While Loop举例
Public Class TestA
Public Sub New()
Dim i As Int32
i = 1
Do While i < 100 '先判断后执行
i += 1
Exit Do
Loop
i = 1
Do
i += 1
Exit Do
Loop While i < 100 '先执行后判断
While i < 100 'Do While i < 100
i += 1
Exit While
End While
End Sub
End Class
For Next
和Do While Loop不一样,For Next是界限循环。For 语句指定循环控制变量、下限、上限和可选的步长值。
For Next举例
Public Class TestA
Public Sub New()
Dim i As Int32
For i = 0 To 100 Step 2
Next i
End Sub
End Class
For Each
For Each也是不定量循环, For Each是对于集合中的每个元素进行遍历。如果你需要对一个对象集合进行遍历,那就应该使用For Each。
For Each举例
Public Class TestA
Public Sub New()
Dim Found As Boolean = False
Dim MyCollection As New Collection
For Each MyObject As Object In MyCollection
If MyObject.Text = "Hello" Then
Found = True
Exit For
End If
Next
End Sub
End Class
讨论数据类型
XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
.net中的数据类型是程序员需要认真掌握的基础知识。.NET 中类型的两个基本类别是“值类型”和“引用类型”。基元类型、枚举和结构为值类型。类、字符串、标准模块、接口、数组和委托为引用类型。
所有的类型要么是值类型,要么是引用类型,但有一种情况例外。根类型 System.Object ,它非常特殊,因为它既不是引用类型也不是值类型,而且不能实例化。因此,类型 Object 的变量可包含值类型或引用类型。
不过无论值类型还是引用类型,它们的声明方式都是一样的,当然它们的语义是不同的。
值类型
值类型直接存储在堆栈上,要么在数组中,要么在另一个类型中。值类型总是直接访问;不可能创建对值类型的引用。值类型的值不能为空引用,值类型的变量赋值会创建所赋的值的副本。
值类型副本创建意义举例
Dim i As Int32 = 10
Dim j As Int32 = i
j = 20 'i=10
基础类型
什么是基础类型呢?简单的讲就是如果一个类型的值是可以使用常数来描述的,该类型就是基础类型。当表达式的操作数均为基元类型常数时,编译器是可以在编译时计算表达式的。这种表达式被称为常数表达式。基本类型总是有初始值的。
VB.Net定义的基础类型:整数(包括字节),浮点、布尔、日期、字符和字符串。
分类
类型
存储分配
整数值类型
Byte
1
Short
2
Integer
4
Long
8
浮点值类型
Single
4
Double
8
Decimal
16
布尔
Boolean
2
日期
Date
8
字符
Char
2
字符串
String
取决于实现平台
如果大家有心的话,可以从Boolean和Char的分配空间看出:.Net是基于Unicode来表示数据的,所以在.Net中英文字符和中文字符所占的空间是一致的。
这些基本类型也象类一样拥有各自的方法和属性,熟练运用它们能让你的程序更优雅和更有面向对象的味道。
XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />
基本类型的重要方法和属性举例
Dim i As Int32
Dim s As String
Dim ss() As String
Dim by As Byte
Dim d As Double
Dim b As Boolean
Dim da As Date
Dim c As Char
Dim cc() As Char
'整数操作
i = Int32.Parse("¥123", Globalization.NumberStyles.AllowCurrencySymbol) '123
i = Int32.MaxValue '2147483647
i = Int32.MinValue '-2147483648
by = Byte.Parse("1") '1
'浮点数操作
d = Double.PositiveInfinity '正无穷大
d = Double.Epsilon '4.94065645841247E-324
'布尔操作
s = Boolean.TrueString 'True
'日期操作
da = Date.MaxValue '9999-12-31 23:59:59
da = Date.MinValue '0:00:00
da = Date.Now '2004-5-7 13:17:35
b = Date.IsLeapYear(2004) 'True
i = Date.DaysInMonth(2004, 5) '31
'以下方法用于判断字符的特性
Char.IsControl(c)
Char.IsDigit(c)
Char.IsLetter(c)
Char.IsLetterOrDigit(c)
Char.IsLower(c)
Char.IsNumber(c)
Char.IsPunctuation(c)
Char.IsSeparator(c)
Char.IsSurrogate(c)
Char.IsSymbol(c)
Char.IsWhiteSpace(c)
Char.IsUpper(c)
'Char转换
Char.ToLower(c)
Char.ToUpper(c)
'字符串操作
cc = s.ToCharArray()
ss = s.Split(",")
s = s.Substring(5, 3)
s = s.Trim()
- vb.net学习笔记
- VB.net学习笔记
- VB.Net学习笔记
- VB.net学习笔记(二)vb.net界面
- VB.net学习笔记(六)VB.net的对象
- VB.Net学习笔记(前言)
- VB.Net学习笔记(条件语句)
- VB.Net学习笔记(循环语句)
- VB.Net学习笔记(数组)
- VB.Net学习笔记(数据类型基础)
- VB.NET学习笔记--类型转换
- VB.NET学习笔记(1)
- VB.NET学习笔记(2)
- VB.NET学习笔记(3)
- VB.Net学习笔记(数据类型基础)
- VB.Net学习笔记(前言)
- VB.Net学习笔记(条件语句)
- VB.Net学习笔记(循环语句)
- 面向对象设计原则
- 实例解析继承体系重构及ORM映射
- php与视频播放flv全接触
- 8月23日生活
- M-Howto 安装VPN服务器【OpenVPN版本】
- vb.net学习笔记
- M-Howto 安装VPN服务器【PPTP】
- 今天算个新的开始吧
- 今天算个新的开始吧
- diablo2oo2's Universal Patcher 2.14 BETA 7
- 怎样成为优秀的软件模型设计者?
- [转帖]SQL Server中的IN与EXISTS
- 理解SOA
- 关于《疯狂的石头》比较郁闷的事