Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
Dim s As String = "2,6,3,8,4,9,1,7,5"
Dim s1 As String
这段代码怎么写??? (不能放到表里去排序哦)
output.show(s1) '结果 = " 1,2,3,4,5,6,7,8,9"
这个要收藏啊~
老大真的厉害呀!!!!!! 你这几行代码, 我得要用近40行代码才能搞定, 还不知道有没有缺陷......
建议大家都收藏下来啊~~~~~~~~
老大真的厉害呀!!!!!! 你这几行代码, 我得要用近40行代码才能搞定, 还不知道有没有缺陷......
建议大家都收藏下来啊~~~~~~~~
有10以上数据就不灵验了,如果能按数值大小来排序就好了。
老大真的厉害呀!!!!!! 你这几行代码, 我得要用近40行代码才能搞定, 还不知道有没有缺陷......
建议大家都收藏下来啊~~~~~~~~
呵呵,不是我厉害,是vb.net本来就有数组排序功能
有10以上数据就不灵验了,如果能按数值大小来排序就好了。
C#支持匿名方法,所以写起来代码比较省事
VB 必须显示定义一个比较方法。
而在foxtable里面 自定义的方法只能放在全局变量,所以只能这样
全局变量加上如下代码:
Public Function StrCompare(ByVal x As String, ByVal y As String) As Integer
Dim a As Integer = x
Dim b As Integer = y
Return a.CompareTo(b)
End Function
然后命令窗口执行:
Dim s1() As String = "2,6,3,11,8,4,9,1,7,5,10".Split(",")
Array.Sort(s1, AddressOf StrCompare)
Output.show(String.Join(",", s1))
这是个怪题,挺难
lxl 版主:
Dim s1() As String = "10.1,11.1,10.3,2,6,3,11,8,4,9,1,7,5,10".Split(",")
Array.Sort(s1, AddressOf StrCompare)
Output.show(String.Join(",", s1))
结果为:1,2,3,4,5,6,7,8,9,10.3,10.1,10,11.1,11
小数到整数前面去了。
这是个怪题,挺难
lxl 版主:
Dim s1() As String = "10.1,11.1,10.3,2,6,3,11,8,4,9,1,7,5,10".Split(",")
Array.Sort(s1, AddressOf StrCompare)
Output.show(String.Join(",", s1))
结果为:1,2,3,4,5,6,7,8,9,10.3,10.1,10,11.1,11
小数到整数前面去了。
呵呵
只考虑整数了
把
Dim a As Integer = x
Dim b As Integer = y
换成
Dim a As Single = x
Dim b As Single = y
就可以了
原来的比较方式 把11.1 11.3都强行转换成整数11去比较了