首页 > 解决方案 > 显示行文本框中的最大值

问题描述

假设我有一个具有以下值的文本框:

Lines1 - 180
Lines2 - 190
Lines 3- 200
Lines 4- 220
Lines 5- 230
Lines 6- 260
Lines 7 - 280
Lines 8 - 144
Lines 9 - 125
Lines 10 -160

如何显示最高值所在的行?(例如,如果我的文本框包含 250 位数字和一些行,我想在另一个文本框中显示最大值所在的行。

如何为文本框中的最高值5或最高值执行此操作?10显示线值。

示例:最大值是Line 7 - with value 280.

输出:Textbox1.text - 第一行 0 - 什么都没有。(只是空间)

8
10
13
13
14
17
10
11
14
15

标签: vb.net

解决方案


您可以使用 LINQ 执行此操作:

Public Function GetMax() As String
  Dim oDirtyLines As List(Of String)
  Dim sMaxLine As String
  Dim iIndex As Integer

  oDirtyLines = Split(TextBox1.Text, vbCrLf).ToList

  Dim oCleanLines = oDirtyLines.Select(Function(Line)
                                         Return New With {
                                                           .Line = Split(Line, "-").First,
                                                           .Value = Split(Line, "-").Last,
                                                           .Index = oDirtyLines.IndexOf(Line)
                                                         }
                                       End Function)

  iIndex = oCleanLines.OrderBy(Function(Line) Line.Value.Trim).Last.Index

  sMaxLine = oDirtyLines(iIndex)

  Return sMaxLine
End Function

推荐阅读