以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教袍哥  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69234)

--  作者:hbhb
--  发布时间:2015/6/1 22:58:00
--  请教袍哥
您好!获取的一个集合,集合元素里只知道有“有点甜,有点酸”两字符串。现在要把有点甜,有点酸排列在集合的第一、第二位置上。
请问该如何写代码?已知集合元素,我会写。

--  作者:sloyy
--  发布时间:2015/6/1 23:08:00
--  

帮助里有,你又不看了

If Names.Contains("有点甜")= true Then

Names.Remove("有点甜")

endif

If Names.Contains("有点酸")= true

Names.Remove("有点酸")

endif

Names.Insert(0,"有点甜")

Names.Insert(1,"有点酸")



--  作者:hbhb
--  发布时间:2015/6/1 23:53:00
--  
谢谢!
帮助就应该这样总结一下,集合的排序问题,把代码的写法结合实际应用进行归类总结。这就是帮助的最高境界。您的代码就很精练。


--  作者:狐狸爸爸
--  发布时间:2015/6/2 8:42:00
--  

论坛绝大多数问题,帮助都有答案,所以并非说帮助有的问题,就不能提问。

 

但不能总是吐槽帮助,为自己找借口,以你这个问题为例,帮助首先介绍:

 

一旦定义了集合,我们就可以用Add方法向其中添加值,例如:

Names.Add("电视机")
Names.Add(
"电冰箱"
)
Names.Add(
"洗衣机")

 

可以用Remove方法删除指定的值,例如:

Names.Remove("电视机")

 

可以用RemoveAt删除指定位置的值,例如:

Names.RemoveAt(0)

表示删除第一个值。

 

还可以用Insert方法将值插入到指定位置,例如:

Names.Insert(0,"电视机")

 

告诉你移除一个值,告诉你在指定位置插入一个值,这不就是你要的吗?

怕用户一时领会不了,所以帮助接下来又来了一个综合示例:

 

下面是一段完整的代码,用于测试集合的基本特性,请复制到命令窗口执行: 

 

Dim Names As New List(Of String)
Names.Add( "电视机")
Names.Add("电冰箱")
Names.Add("洗衣机")
Names.Remove("电视机"
)
If
Names.Contains("电视机")= False Then
    Names.Add("电视机"
)
End If

Names.Insert(0,"传真机")
Names(2) = "微波炉"
Output.Show(Names.Count) \'显示集合的长度
OutPut.Show(Names(0)) \'显示第一个值

 

增加、移除、插入、修改指定位置的值,全部都体现在这段代码里。

[此贴子已经被作者于2015/6/2 8:46:34编辑过]

--  作者:hbhb
--  发布时间:2015/6/2 11:46:00
--  
谢谢!狐大大答疑。
是否可以进行以下方面的总结归纳?
1、集合元素添加后的排列次序是什么?
2、如何对元素进行总排序?
3、如何对元素进行自定义排序?
4、如果从表中获得的集合可以怎样排序?
5、如何定义集合的集合及应用
6、如何定义数组集合及应用
7、综合应用举例
8、集合一般应用的地方
等等
       我说讲的就是这样的,并不是说帮助不详细。

--  作者:狐狸爸爸
--  发布时间:2015/6/2 12:04:00
--  

如果集合的帮助真的如你所希望的这样,你会更加看不下去的。

 

1、集合的顺序,就是你添加的顺序

2、集合没有排序,如果要排序,通常在添加到集合之前排序,例如按总分顺序添加姓名到集合中。

 

for each dr as datarow in datatables("表名").Select("","总分")

   lst.Add(dr("姓名"))

next

 

3、同样没有自定义排序,应该事先处理好,再添加到集合中。

4、参考2

5、Dim lst As List(of List(of String)), 这个基本用不着。

7、Dim ary() As List(of String),这个也基本用不着。

8、集合的应用,帮助很多例子,你在帮助搜List,会搜出一大堆。

9、介绍集合的时候,才开始接触编程基础,DaaTable和Table还没有接触,后面学习了表、行、列的属性和方法,以及事件编程,才会接触实战,如果介绍list的时候,莫名奇妙来个DataTable的使用示例,那是乱来。

10、写这个帮助的时候,我们很注意“循序渐进”

 

[此贴子已经被作者于2015/6/2 12:05:23编辑过]

--  作者:hbhb
--  发布时间:2015/6/2 12:09:00
--  
不错,以上几点就是总结!