关于集合的问题

QQRN 2002-06-17 08:17:35
能否在Structure 里嵌套集合??(.net)
Structure 类似与6.0的 type
如下:
Structure 班级类型
Dim 班级名称 As String
Dim 班级表名 As String
Dim 创建人 As String
Dim 科目数 As String
Dim 科目 As New Collection() '<—提示结构里的成员不能声明为 "new"
End Structure
...全文
28 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jt_ares 2002-06-18
  • 打赏
  • 举报
回复
up
zyl910 2002-06-18
  • 打赏
  • 举报
回复
也许这样能行
Structure 班级类型
  Dim 班级名称 As String
  Dim 班级表名 As String
  Dim 创建人 As String
  Dim 科目数 As String
  Dim 科目 As 科目类型()
End Structure
zyl910 2002-06-18
  • 打赏
  • 举报
回复
建立一个类模块
里面写:
Public 班级名称 As String
Public 班级表名 As String
Public 创建人 As String
Public 科目数 As String
Public 科目 As Collection()

Private Sub Class_Initialize()
'创建类后创建集合
Set 科目 = New Collection
End Sub

Private Sub Class_Terminate()
'类终止后破坏集合
Set 科目 = Nothing
End Sub
QQRN 2002-06-18
  • 打赏
  • 举报
回复
zyl910(910:分儿,我来了!) (L2002)
你说的方法在
Public 班级名称 As String
Public 班级表名 As String
Public 创建人 As String
Public 科目数 As String
Public 科目 As Collection()

Private Sub Class_Initialize() <----无法通过
'创建类后创建集合
Set 科目 = New Collection <----无法通过
End Sub

Private Sub Class_Terminate() <----无法通过
'类终止后破坏集合
Set 科目 = Nothing <----无法通过
End Sub

我是在.NET下用的,大概在6.0应该通过吧,没试过,不过还是要谢谢你:)

下面是sumtec(Psydian) 给的答案
http://www.csdn.net/Expert/TopicView1.asp?id=810816
Structure ClassType
Dim ClassName As String
Dim ClassTableName As String
Dim Creator As String
Dim SubjectCount As String 'Why not use "Integer"??
Dim Subjects As Collection
End Structure

Private Record As ClassType

Sub Add()
Record.ClassName = "xxx"
Record.Creator = "xxx"
Record.Subjects = New Collection
Record.Subjects.Add("xxxxxx")
End Sub

根据他的方法写了一个
Dim 所有班级列表 As Collection
Dim 班级 As 班级类型
Dim 科目 As 科目类型
Structure 科目类型
Dim 科目名 As String
Dim 科目项名 As String
Dim 创建人 As String
End Structure

Structure 班级类型
Dim 班级名称 As String
Dim 班级表名 As String
Dim 创建人 As String
Dim 科目数 As Integer
Dim 科目 As Collection
End Structure
Sub adds()
班级.班级名称 = "笨蛋99(1)班"
班级.班级表名 = "笨蛋99(1)班"
班级.科目数 = 1
班级.创建人 = "笨QQ"
班级.科目 = New Collection()

科目.创建人 = "笨QQ"
科目.科目名 = "傻瓜学"
科目.科目项名 = "傻瓜学"

班级.科目.Add(科目)
所有班级列表.Add(班级)
End Sub
呵呵!大家都有分,不过大头给sumtec(Psydian)了,有意见发短信给我
QQRN 2002-06-17
  • 打赏
  • 举报
回复
类模块怎么写呀
zyl910 2002-06-17
  • 打赏
  • 举报
回复
用结构体不好
用类模块吧
还可以实现链表
QQRN 2002-06-17
  • 打赏
  • 举报
回复
结构如下

班级列表(多项)---- 班级名称
班级表名
科目数
科目(多项)---- 科目名
科目项名

原用数组表示多项资料,现想改为集合

Public 班级列表 As New Collection()
Structure 科目类型
Dim 科目名 As String
Dim 科目项名 As String
Dim 创建人 As String
End Structure
Structure 班级类型
Dim 班级名称 As String
Dim 班级表名 As String
Dim 创建人 As String
Dim 科目数 As String
Dim 科目 As New Collection() <-提示结构里的成员不能声明为 "new"
End Structure

如何写该结构?
zyl910 2002-06-17
  • 打赏
  • 举报
回复
就是需要新建一个集合的时候再 Set 科目=New Collection
QQRN 2002-06-17
  • 打赏
  • 举报
回复
to zyl910(910:分儿,我来了!) (L2002)

不写NEW可以通过,但是我不明白你下面的话,解释或范例一下好么?

--------------------------
需要的时候再New

或者把它改成一个类模块
--------------------------
QQRN 2002-06-17
  • 打赏
  • 举报
回复
to zyl910(910:分儿,我来了!) (L2002)

不写NEW可以通过,但是我不明白你下面的话,解释或范例一下好么?

--------------------------
需要的时候再New

或者把它改成一个类模块
--------------------------
zyl910 2002-06-17
  • 打赏
  • 举报
回复
不写New试试

需要的时候再New

或者把它改成一个类模块
QQRN 2002-06-17
  • 打赏
  • 举报
回复
谁来帮我顶顶呀……

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧