Foxtable(狐表)用户栏目专家坐堂 → [求助]问个简单的排序问题


  共有1648人关注过本帖树形打印复制链接

主题:[求助]问个简单的排序问题

帅哥哟,离线,有人找我吗?
jeff69
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:77 积分:679 威望:0 精华:0 注册:2018/5/2 11:29:00
[求助]问个简单的排序问题  发帖心情 Post By:2018/8/13 15:58:00 [只看该作者]

老师,我需要提取一列数据,在插入一个数字后,再排序,从而找出对应的位置。我用getvalue提取数据后,是否形成的一个字字符型的集合?(表中此列的属性是整数),插入一个整数后,排序好象不起作用。如getvalue后的数据是1,15;插入整数4,排序后还是1,15,4,不起作用。
Dim Names As New List(Of String)
Names.Add( "1")
Names.Add("15")
Names.Add("4")
Output.Show(Names.Count) '显示集合的长度
OutPut.Show(Names(0)) '显示第一个值
OutPut.Show(Names(1)) 
OutPut.Show(Names(2)) 
Output.Show(Names.Indexof("4")) '显示电视机在集合中的位置
Names.Sort() '对集合中的元素排序
OutPut.Show(Names(0)) '显示第一个值
OutPut.Show(Names(1)) 
OutPut.Show(Names(2)) 
Output.Show(Names.Indexof("4")) 
这是我用书上例子试的,执行结果是
3
1
15
4
2
1
15
4
2
我想排序后应该是1,4,15的,如何解决?

 回到顶部
帅哥哟,离线,有人找我吗?
jeff69
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:77 积分:679 威望:0 精华:0 注册:2018/5/2 11:29:00
  发帖心情 Post By:2018/8/13 15:59:00 [只看该作者]

是否要将集合的字符转换成数值,再排序?如何转换?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/8/13 16:33:00 [只看该作者]

Dim Names As New List(Of String)
Names.Add( "1")
Names.Add("15")
Names.Add("4")

Dim ls As new List(of Integer)
For Each s As String In names
    ls.add(s)
Next
msgbox(ls(1))
ls.sort
msgbox(ls(1))


 回到顶部
帅哥哟,离线,有人找我吗?
jeff69
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:77 积分:679 威望:0 精华:0 注册:2018/5/2 11:29:00
  发帖心情 Post By:2018/8/13 16:49:00 [只看该作者]

谢谢,解决了

 回到顶部