泛型参数,表示一种特定类型,通常用于集合List, Dictionary之类的。
为阜新等地区用户提供了全套网页设计制作服务,及阜新网站建设行业解决方案。主营业务为成都网站建设、网站制作、阜新网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
原型:Dictionary(Of TKey, TValue)
原型不能直接使用,必须给TKey, TValue指定一个类型(Type)
强类型字典:Dictionary(Of String, String)
表示键和值都为String类型的字典。
Public Class Form1
Inherits System.Windows.Forms.Form
Public filename As String = "英汉词典.txt"
Public myword(6500, 1) As String
Public words As Integer = 0
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim a As String
Dim b As Integer
Dim i As Integer = 0
Dim n As String
Dim m As String
Dim stringb As Integer
TextBox1.Text = ""
TextBox2.Text = ""
FileOpen(1, "英汉词典.txt", OpenMode.Input)
Do While Not EOF(1)
a = LineInput(1)
b = InStr(a, " ")
n = Microsoft.VisualBasic.Left(a, b - 1)
myword(i, 0) = n
ListBox1.Items.Add(n)
stringb = Len(a) - b
m = Trim(Microsoft.VisualBasic.Right(a, stringb))
myword(i, 1) = m
i += 1
Loop
words = i
FileClose(1)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer = -1
If TextBox1.Text = "" Then
MessageBox.Show("不能输入空格,请重新输入")
TextBox2.Text = ""
TextBox1.Focus()
Exit Sub
Else
For i = i + 1 To words
If LCase(TextBox1.Text) = LCase(myword(i, 0)) Then
TextBox2.Text = Trim(myword(i, 1))
Exit Sub
End If
Next
MessageBox.Show(" 您需要的单词不存在,请重新输入")
End If
End Sub
Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
Try
TextBox1.Text = myword(ListBox1.SelectedIndex, 0)
TextBox2.Text = Trim(myword(ListBox1.SelectedIndex, 1))
Catch ex As Exception
End Try
Exit Sub
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Dim ch, enterwords As String
Dim j, m As Integer
If -1 = ListBox1.SelectedIndex Then
MsgBox("请选择单词", , "")
ListBox1.Focus()
Exit Sub
End If
enterwords = InputBox("请修改单词", "修改单词", Trim(myword(ListBox1.SelectedIndex, 0)))
Do While enterwords = ""
m = MsgBox("单词不能为空", MsgBoxStyle.RetryCancel, "修改单词")
If m = 4 Then
enterwords = InputBox("请修改单词", "修改单词", Trim(myword(ListBox1.SelectedIndex, 0)))
Else
Exit Sub
End If
Loop
ch = InputBox("请修改中文意思", "修改单词", Trim(myword(ListBox1.SelectedIndex, 1)))
Do While ch = ""
m = MsgBox("中文意思不能为空", MsgBoxStyle.RetryCancel, "修改单词")
If m = 4 Then
ch = InputBox("请修改中文意思", "修改单词", Trim(myword(ListBox1.SelectedIndex, 1)))
Else
Exit Sub
End If
Loop
myword(ListBox1.SelectedIndex, 1) = ch
myword(ListBox1.SelectedIndex, 0) = enterwords
FileOpen(1, filename, OpenMode.Output)
For j = 0 To words - 1
PrintLine(1, myword(j, 0) " " myword(j, 1))
Next
FileClose(1)
MsgBox("修改成功")
ListBox1.Items.Clear()
Form1_Load(sender, e)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim i As Integer = 0
Dim k, m As Integer
Dim enterwords, ch As String
enterwords = InputBox("请输入要添加的单词", "添加单词")
Do While enterwords = ""
m = MsgBox("单词不能为空,请输入单词!", MessageBoxButtons.RetryCancel, "添加单词")
If m = 4 Then
enterwords = InputBox("请输入要添加的单词", "添加单词")
Else
Exit Sub
End If
Loop
ch = InputBox("请输入中文意思", "添加中文")
Do While ch = ""
m = MsgBox("中文不能为空,请输入中文意思!", MessageBoxButtons.RetryCancel, "添加中文")
If m = 4 Then
ch = InputBox("请输入中文意思", "添加中文")
Else
Exit Sub
End If
Loop
Do While LCase(myword(i, 0)) LCase(enterwords)
i = i + 1
If words = i Then
myword(i, 0) = enterwords
myword(i, 1) = ch
words = words + 1
FileOpen(1, filename, OpenMode.Output)
For i = 0 To words - 1
PrintLine(1, myword(i, 0) " " myword(i, 1))
Next
ListBox1.Items.Clear()
FileClose(1)
ListBox1.Items.Clear()
Form1_Load(sender, e)
MessageBox.Show("添加成功")
Exit Sub
End If
Loop
If LCase(myword(i, 0)) = LCase(enterwords) Then
MessageBox.Show("该单词已存在!")
ListBox1.SelectedIndex = i
Exit Sub
ElseIf LCase(myword(0, 0)) LCase(enterwords) Then
For k = words To 0 Step -1
myword(k + 1, 0) = myword(k, 0)
myword(k + 1, 1) = myword(k, 1)
Next
myword(0, 0) = enterwords
myword(0, 1) = ch
words = words + 1
FileOpen(1, filename, OpenMode.Output)
For i = 0 To words - 1
PrintLine(1, myword(i, 0) " " myword(i, 1))
Next
ListBox1.Items.Clear()
FileClose(1)
Form1_Load(sender, e)
MessageBox.Show("添加成功")
Exit Sub
End If
For k = words To i + 1 Step -1
myword(k + 1, 0) = myword(k, 0)
myword(k + 1, 1) = myword(k, 1)
Next k
myword(i, 0) = enterwords
myword(i, 1) = ch
words = words + 1
FileOpen(1, filename, OpenMode.Output)
For i = 0 To words - 1
PrintLine(1, myword(i, 0) " " myword(i, 1))
Next
FileClose(1)
ListBox1.Items.Clear()
Form1_Load(sender, e)
MessageBox.Show("添加成功")
Exit Sub
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Dim i, j, k As Integer
If -1 = ListBox1.SelectedIndex Then
MsgBox("请选择单词", , "")
ListBox1.Focus()
Exit Sub
End If
k = MsgBox("确定是否删除", MsgBoxStyle.YesNo, "提示")
If k = 6 Then
For i = ListBox1.SelectedIndex To words
myword(i, 0) = myword(i + 1, 0)
myword(i, 1) = myword(i + 1, 1)
Next
words = words - 1
FileOpen(1, filename, OpenMode.Output)
For j = 0 To words - 1
PrintLine(1, myword(j, 0) " " myword(j, 1))
Next
FileClose(1)
MsgBox("单词已删除")
ListBox1.Items.RemoveAt(ListBox1.SelectedIndex)
ListBox1.Refresh()
TextBox1.Text = ""
TextBox2.Text = ""
Exit Sub
Else
Exit Sub
End If
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
TextBox1.Text = ""
TextBox2.Text = ""
End Sub
End Class
这是代码,文字性的内容自己去做。
1. 什么是类和对象?
答:类包含某一类对象的数据和过程。对象是类的实例。
2. 为什么采用类和对象进行程序设计?
答:以便按照对象定义类,提高程序代码的可重用性,避免重复劳动。
3. 在同一个类中,应当包括哪些对象的属性和方法?
答:同一类对象的数据和过程。
4. VB程序设计主要包括哪两个方面的内容?
答:Windows应用程序界面和代码。
5. 什么是事件驱动?
答:根据事件转去执行相应的事件处理过程。
1. 控件是窗体上的 对象 。
2. Visual Basic具有 BASIC程序语言简单易学的 优点,新增了 可视化和面向面向对象程序设计的 热点,是 Windows编程人员广泛使用的编程 工具。
3. 对象的 属性 是在其类中定义的数据。
4. 对象的 方法 是在其类中定义的过程。
5. 对象本身的动作或功能称为 方法 ,外界施加于某对象的动作或操作称为 事件 。
1.面向过程
是指从功能的角度分析问题,将待解决的问题空间分解成若干个功能模块,每个功能模块描述一个操作的具体过程。
2.面向过程程序设计
主要是根据事务本身的逻辑过程进行编程的一种方法。
3.面向对象程序设计
是一种计算机编程架构,是由单个能够起到子程序作用的单元或对象组合而成。即按照对象编写程序。
4.事件驱动程序设计
是一种电脑程式设计模型。这种模型的程式执行流程是由使用者的动作或者是由其他程式的讯息来决定的。
5.函数
是一种特定的运算,在程序中使用一个函数时,只要给出函数名并给出一个或多个参数,就能得到它的函数值
6.过程
是程序中可以执行的一段代码,过程包含在一个声明语句和一个结束语句之间
7.类
是所有具有共同特征的事物的抽象,是一个抽象的概念(类是一组具有相同属性特征的对象的抽象描述,是面向对象程序设计的又一个核心概念或者类是对一组对象共同具有的属性和行为的抽象,具有封装和隐藏性、还具有继承性)。
8.对象
是一个属性集合及其操作的封装体(对象是用来描述现实世界中客体的部件,是面向对象软件系统在运行时刻的基本单位)。
类是对象的抽象,对象是类的实例。
9.事件
窗体或控件识别的动作
10.事件驱动
根据事件转去执行相应的事件处理过程。
11.属性
是一个对象的特性,不同的对象有不同的属性
12.算法
指解决某个问题的严格方法,描述有始有终的计算过程。
5.属性窗口中属性值被设置的方式有哪几种?
6种:输入 选取 浏览 赋值 默认 拖动
1.程序代码是由一行一行的 语句 所组成。
3.在程序代码中可将一个语句分成两段的特殊符号为( _ )。
5.数值变量如果没有设置初值,则内定值为 0 。
7.如果有一个变量,可能会存放数值数据或字符串数据,此时可以声明该变量为 对象变量。
9. Integer数据类型占 4 bytes的内存空间,可以表示的数值范围为 -2,147,483,648~2,147,483,647 的整数
3.VB.NET程序语言数据类型的种类有哪些?
(1)数值型
①整形数:短整形(Short)、整形(Integer)、长整型(Long)
②字节型(Byte)
③实型数:单精度型(Single)、双精度型(Double)
④货币型(Decimal)
(2)字符型(Char)和字符串型(String)
(3)逻辑型/布尔型(Boolean)
(4)日期型(Date)
(5)对象型(Object)[即可变型(Variant)]
1.局部变量、全局变量、跨模块变量分别在何处声明?其生存期分别是多少?
局部变量在程序内声明。生存期为从所在的程序运行开始到程序结束。
全局变量在窗体内所有程序的外边声明。生存期为由该变量声明开始,一直到程序退出运行为止。
跨模块变量在一般模块的声明区用Public来声明。生存期为从一个Windows应用程序项目文件开始运行到结束。
3.什么是静态变量?
静态变量是在离开程序时能够继续保留目前的值,待下回进入该程序时能够继续保留的变量值的局部变量,用Static关键字声明。
(一)问答题
1.请简单说明在程序中使用程序的好处。
(1)程序可以重复使用,以方便维护与程序调试。
(2)程序可以让其他工程或项目使用。
(3)程序的逻辑简单、明确,可以让程序变得简单且可读性高。
(4)程序具有模块化的功能,因此可以将一个大的应用程序分成数个小的且不同功能的程序,让不同的程序设计师分别编写独立不同功能的程序,并以团队开发,加快应用程序开发的时间。
3.试比较传值调用与传址调用的差异。
(1)声明方式不同:
传值——在程序中的虚自变量之前加上ByVal
传址——在程序中的虚自变量之前加上ByRef
(2)占用内存不同
传值——调用程序的实自变量与被调用程序的虚自变量占用不同内存
传址——调用程序的实自变量与被调用程序的虚自变量占用同一地址的内存,也就是说,在做参数传递时,调用程序中的实自变量是将自己本身的内存地址传给被调用程序的虚自变量
(3)虚自变量更改结果不同
传值——使用传值调用可以防止变量被程序修改
传址——被调用程序可以通过虚自变量将值传回给调用程序
5.什么是程序多载?
程序多载是使用不同的自变量串行或数据类型来加以区分相同名称的程序。
你可以简单的理解为 定义一个字典对象 相当于定义一个二维数组 但是比数组使用起来方便快捷