Данные, которые можно перечислить в VB.Net

#vb.net

Вопрос:

У меня есть список

 Public Class Payment
    Public Property Payments As List(Of PaymentArr)
End Class

Public Class PaymentArr
    Public Property Invoice_Num As String
    Public Property Invoice_Date As String
    Public Property GL_Date As String
End Class
 

и у меня есть столик

 Inv_Num    Inv_Date    GL_Date
 1          20200606    20200606
 2          20200607    20200607
 3          20200608    20200608
 

Мне нужно преобразовать приведенную выше таблицу в список платежей, пожалуйста, посоветуйте, что делать

Комментарии:

1. Взгляни на Щеголя

2. Начните с table.AsEnumerable().Select(Function(datarow) New PaymentArr With { ..}).ToList()

Ответ №1:

Эта функция должна это делать:

 Public Function ConvertTableToList(dt As DataTable) As List(Of PaymentArr)

    Dim payments As New List(Of PaymentArr)
    For Each rw As DataRow In dt.Rows
        Dim payment As New PaymentArr With
        {
          .Invoice_Num = rw.Item("Inv_Num"),
          .Invoice_Date = rw.Item("Inv_Date"),
          .GL_Date = rw.Item("GL_Date")
        }
        payments.Add(payment)
    Next

    Return payments

End Function
 

Назовите это следующим образом:

 Dim pymnt As New Payment
pymnt.Payments = ConvertTableToList(myDatatable)
 

где myDatatable-это таблица, содержащая ваши данные

С помощью LINQ будут более короткие / аккуратные решения, но вам должно быть легко следовать этой версии