Public Class Form1
Structure NumberValue
Public s As String
Public stringcount As Integer
Public stringIndex As Integer
End Structure
Private Sub NumberInputbox_TextChanged(sender As Object, e As EventArgs) Handles NumberInputbox.TextChanged
If Not IsNumeric(NumberInputbox.Text) Then
NumberOutBox.Clear()
Else
NumberOutBox.Text = GetString(NumberInputbox.Text)
End If
End Sub
Private Function GetString(t As String) As String
'统计字频
Dim D As New List(Of NumberValue), nv As NumberValue
For i As Byte = 0 To 9
If t.Contains(i.ToString) = False Then Continue For
nv = New NumberValue
nv.s = i.ToString
Dim g As CharEnumerator = t.GetEnumerator
While g.MoveNext
If g.Current = i.ToString Then nv.stringcount += 1
End While
nv.stringIndex = t.IndexOf(i)
D.Add(nv)
Next
'排序输出
Dim NewNum = From MyNumber In D
Order By MyNumber.stringcount Descending, MyNumber.stringIndex
Select MyNumber.s
Dim sb As String = ""
For Each t In NewNum
sb = sb & t
Next
Return sb
End Function
End Class
链接:
http://pan.baidu.com/s/1sjWJnFf 密码:f4hn
基于.net framework 4.0封装