Rss & SiteMap

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

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

标题:出个题目 反正我这一下子是没解决.【解决了】

1楼
mr725 发表于:2010/8/17 13:20:00

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"

[此贴子已经被作者于2010-8-18 12:21:38编辑过]
2楼
狐狸爸爸 发表于:2010/8/17 14:56:00
Dim s1() As String = "2,6,3,8,4,9,1,7,5".Split(",")
Array.Sort(s1)
Output.show(String.Join(",",s1))
3楼
mr725 发表于:2010/8/17 15:04:00
以下是引用狐狸爸爸在2010-8-17 14:56:00的发言:
Dim s1() As String = "2,6,3,8,4,9,1,7,5".Split(",")
Array.Sort (s1)
Output.show(String.Join(",",s1))

图片点击可在新窗口打开查看       这个要收藏啊~

[此贴子已经被作者于2010-8-17 15:06:47编辑过]
4楼
mr725 发表于:2010/8/17 18:52:00

老大真的厉害呀!!!!!!    你这几行代码, 我得要用近40行代码才能搞定,  还不知道有没有缺陷...... 

 

建议大家都收藏下来啊~~~~~~~~

5楼
czy 发表于:2010/8/17 20:28:00
以下是引用mr725在2010-8-17 18:52:00的发言:

老大真的厉害呀!!!!!!    你这几行代码, 我得要用近40行代码才能搞定,  还不知道有没有缺陷...... 

 

建议大家都收藏下来啊~~~~~~~~

 

有10以上数据就不灵验了,如果能按数值大小来排序就好了。

6楼
狐狸爸爸 发表于:2010/8/17 21:51:00
以下是引用mr725在2010-8-17 18:52:00的发言:

老大真的厉害呀!!!!!!    你这几行代码, 我得要用近40行代码才能搞定,  还不知道有没有缺陷...... 

 建议大家都收藏下来啊~~~~~~~~

 

呵呵,不是我厉害,是vb.net本来就有数组排序功能

7楼
lxl 发表于:2010/8/17 23:40:00
以下是引用czy在2010-8-17 20:28:00的发言:

 

有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))

[此贴子已经被作者于2010-8-17 23:41:24编辑过]
8楼
e-png 发表于:2010/8/17 23:52:00

这是个怪题,挺难

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

小数到整数前面去了。

9楼
lxl 发表于:2010/8/17 23:56:00
以下是引用e-png在2010-8-17 23:52:00的发言:

这是个怪题,挺难

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去比较了

10楼
e-png 发表于:2010/8/18 0:15:00
ok         图片点击可在新窗口打开查看
共21 条记录, 每页显示 10 条, 页签: [1] [2][3]

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

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