Использование списка.Найти в VB.NET

У меня есть две колонки. Один столбец содержит строковые значения, а другой-десятичные значения. Я хочу выбрать десятичное значение, выбрав строковое значение.

string          decimal
Jewel           10
Hasan           20

Как выбрать Jewel, чтобы он вернул 10?

3 ответов


попробуйте это:

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

или, если вам нужно первое появление "драгоценности", используйте это:

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

функциональность перечисления является правильным способом использования для этого вопроса.

пример:

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

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