List.Find在VB.NET中的使用

问题描述 投票:0回答:4

我有两列。一列包含字符串值,另一列包含十进制值。我想通过选择字符串值来选择十进制值。

string          decimal
Jewel           10
Hasan           20

如何选择 Jewel 才能返回 10?

vb.net list find
4个回答
39
投票

试试这个:

Dim selectedValues As List(Of InvoiceSOA)
selectedValues = DisputeList.FindAll(Function(p) p.ColumnName = "Jewel")

或者,如果您需要第一次出现“Jewel”,请使用:

Dim selectedValue As InvoiceSOA
selectedValue = DisputeList.Find(Function(p) p.ColumnName = "Jewel")

0
投票

枚举功能是解决此问题的正确方法。

示例:

Public Enum Ornaments
    Neclace = 10
    Bangle = 20
    TieClip = 30
End Enum

如何使用这个枚举

Dim SelectedOrnament As Ornaments = Ornaments.Bangle

Select Case SelectedOrnament

    Case Ornaments.Neclace
        MsgBox("Your ornament is: " & Ornaments.Neclace)

    Case Ornaments.Bangle
        MsgBox("Your ornament is: " & Ornaments.Bangle)

    Case Ornaments.TieClip
        MsgBox("Your ornament is: " & Ornaments.TieClip)

    Case Else
        MsgBox("I could not find your ornament. Sorry")

End Select

0
投票
Dim selectedValue As InvoiceSOA = DisputeList.Find(Function(p) 
        if p.ColumnName = "Jewel" then
            return true
        end if
    end function)

0
投票

为什么要创建一个 Enum...全部在 select case 语句中完成...查找 case“Bangle”...返回 20.

© www.soinside.com 2019 - 2024. All rights reserved.