首页 > 解决方案 > 最高 - 最低值排序文本框

问题描述

点击图片。

我想按升序和降序排列这些值:从最高到最低:

我有一个文本框TxtNumberListScan =

1 3 5 7
1 3 5 8
1 3 5 9
1 3 6 7
1 3 6 8
1 3 6 9
1 3 7 8
1 3 7 9

我有另一个文本框:TxtDrawR1.Text

1
1
1
37
1
23
1
37

TextBox是按如下方式创建的:

TxtDrawR1.Text &= Environment.NewLine & lastDraw1
TxtDrawR2.Text &= Environment.NewLine & lastDraw2
TxtDrawR3.Text &= Environment.NewLine & lastDraw3
While ListTxtDrawR1.Items.Count > 0
ListTxtDrawR1.Items.RemoveAt(ListTxtDrawR1.Items.Count - 1)
End While
For i As Integer = 0 To TxtDrawR1.Lines.Count - 1
ListTxtDrawR1.Items.Add(TxtDrawR1.Lines(i))
Next
While ListTxtDrawR2.Items.Count > 0
ListTxtDrawR2.Items.RemoveAt(ListTxtDrawR2.Items.Count - 1)
End While
For i As Integer = 0 To TxtDrawR2.Lines.Count - 1
ListTxtDrawR2.Items.Add(TxtDrawR2.Lines(i))
Next
While ListTxtDrawR3.Items.Count > 0
ListTxtDrawR3.Items.RemoveAt(ListTxtDrawR3.Items.Count - 1)
End While

第一个文本框中的每个值在第二个文本框中都有一个值。

1 3 5 7 = 1 
1 3 5 8 = 1
1 3 5 9 = 1
1 3 6 7 = 37
1 3 6 8 = 1
1 3 6 9 = 23
1 3 7 8 = 1
1 3 7 9 = 37

所以我想显示升序和降序(从最低到最高这些值)如下这样的模型或类似的东西:

1 3 6 7 = First Line - because it is the highest value - 37 - starting from the first.
1 3 7 9 = 2st Line - because again it is the highest value in the first Textbox. - value - 37
1 3 6 9 = 3st Line - value - 23 
1 3 5 7 = 4st Line - value 1
1 3 5 8 - 5st Line - value 1
1 3 5 9 - 6st Line - value 1
1 3 6 8 - 7st Line - value 1
1 3 7 8 - 8st Line - value 1

基本上最高值是从开始线到结束线。

我不知道如何让它完全按照它应该的方式工作,它根本不起作用。

Dim Top10HighestValues = myList.Select(Function(line)
                                          Dim res = 0
                                          Integer.TryParse(line, res)
                                          Return res
                                        End Function).OrderByDescending(Function(x) x).Take(10)
  Dim dictionary As New Dictionary(Of String, Integer)
  For Each i In Top10HighestValues 
       Dim idx = myList.IndexOf(i) + removedEmptyLinesCount
       dictionary.Add(i, idx)
  Next
 For Each d In Dictionary
        TextBox2.AppendText(d.Key & vbCrLf)
        TextBox2.AppendText(d.Value & vbCrLf)
 Next

标签: vb.net

解决方案


可能我下次也需要这个,所以我放在这里,我不知道这是否会像希望一样运行:

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    Dim ListScan = TxtNumberListScan.Lines.ToList.Select(Function(o, i) New With {.scan = o, .Index = i})
    Dim DrawR1 = TxtDrawR1.Lines.ToList.Select(Function(o, i) New With {.draw = o, .Index = i})
    Dim list3 = From a In ListScan From b In DrawR1 Where a.Index = b.Index Select LstScan = a.scan, DrwR1 = b.draw Order By DrwR1 Descending
End Sub

推荐阅读