Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:sort 排序

1楼
侠客1985 发表于:2023/12/10 15:38:00
Dim names() As String={"赵沿骅","赵思群","范丙刚","徐红","范瑞"}
Dim Marks() As Integer={99,90,85,89,86}
Array.sort(Marks,names)
Output.show(names(0)&"="& Marks(0))
Output.show(names(1)&"="& Marks(1))
Output.show(names(2)&"="& Marks(2))
Output.show(names(3)&"="& Marks(3))
Output.show(names(4)&"="&Marks(4))
Output.show(names.length)
范丙刚=85
范瑞=86
徐红=89
赵思群=90
赵沿骅=99
5

老师,在上述对数组的排序中默认从小到大,如果要改为从大到小可以不?要怎么更改排序的方式
2楼
linyunu1 发表于:2023/12/10 17:12:00
全局代码
Public Class myReverserClass
    Implements System.Collections.IComparer
    Function Compare(x As [Object], y As [Object]) As Integer Implements System.Collections.IComparer.Compare
    Return New System.Collections.CaseInsensitiveComparer().Compare(y, x)
    End Function
End Class

使用
Dim names() As String={"赵沿骅","赵思群","范丙刚","徐红","范瑞"}
Dim Marks() As Integer={99,90,85,89,86}
Dim myComparer = New myReverserClass()
Array.Sort(Marks,names,myComparer)
Output.show(names(0)&"="& Marks(0))
Output.show(names(1)&"="& Marks(1))
Output.show(names(2)&"="& Marks(2))
Output.show(names(3)&"="& Marks(3))
Output.show(names(4)&"="&Marks(4))
Output.show(names.length)
3楼
侠客1985 发表于:2023/12/10 17:47:00
老师,执行结果报错图片点击可在新窗口打开查看
4楼
linyunu1 发表于:2023/12/10 20:00:00
全局代码
Public Class myReverserClass
    Implements System.Collections.IComparer
    Function Compare(x As [Object], y As [Object]) As Integer Implements System.Collections.IComparer.Compare
Return New System.Collections.CaseInsensitiveComparer().Compare(y, x)
    End Function
End Class

有复制进去吗
5楼
有点蓝 发表于:2023/12/10 21:41:00
Dim names() As String = {"赵沿骅", "赵思群", "范丙刚", "徐红", "范瑞"}
Dim Marks() As Integer = {99, 90, 85, 89, 86}
Dim d As New SortedDictionary(Of Integer, String)
For i As Integer = 0 To Marks.Length - 1
    d.Add(Marks(i), names(i))
Next

For i As Integer = d.Keys.Count - 1 To 0 Step - 1
    Output.Show(d.Keys(i) & "=" & d(d.Keys(i)))
Next 
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03125 s, 2 queries.