VB NET: как найти список строк с максимальным количеством элементов из нескольких списков строк - PullRequest
0 голосов
/ 20 декабря 2018

Не могли бы вы помочь мне в этом:

У меня есть 5 списков строк, скажем, A, B, C, D и E:

A has 6 items
B has 5 items 
C has 9 items 
D has 2 items
E has 7 items

Мне нужно отсортироватьили найти «C» как список, в котором есть максимум элементов.

Мне нужно создать вкладку в winform, и на каждой вкладке мне нужно создать представление сетки данных программно.максимальное количество в списке будет максимальной вкладкой, которую мне нужно создать.И на каждой вкладке будет по 1 элементу каждого члена списка.Конечно, не во всех вкладках будет элемент от участника с небольшим количеством элементов.

Ранее Ii выполнял итерацию по таблице и сетке данных для построения и решения проблемы, чтобы избежать сортировки списка, потому что я понятия не имею, найтимаксимальное количество элементов в этих списках.

ОБНОВЛЕНИЕ: Помогает Эндрю

` Dim z As New List(Of List(Of String))

    Dim a As New List(Of String)
    a.Add("a1")
    a.Add("a2")
    a.Add("a3")

    Dim b As New List(Of String)
    b.Add("b1")
    b.Add("b2")
    b.Add("b3")
    b.Add("b4")
    b.Add("b5")


    Dim c As New List(Of String)
    c.Add("c1")
    c.Add("c2")
    c.Add("c3")
    c.Add("c3")

    z.Add(a)
    z.Add(b)
    z.Add(c)

    Dim maxItems = z.Max(Function(p) p.Count)
    MessageBox.Show(maxItems)`

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Прекрасно отвечают и Мария, и работа Андрея:

Dim z As New List(Of List(Of String))

    Dim a As New List(Of String)
    a.Add("a1")
    a.Add("a2")
    a.Add("a3")

    Dim b As New List(Of String)
    b.Add("b1")
    b.Add("b2")
    b.Add("b3")
    b.Add("b4")
    b.Add("b5")


    Dim c As New List(Of String)
    c.Add("c1")
    c.Add("c2")
    c.Add("c3")
    c.Add("c3")

    z.Add(a)
    z.Add(b)
    z.Add(c)

    Dim eb() As Integer = {a.Count, b.Count, c.Count}
    Dim max = eb.Max

    Dim maxItems = z.Max(Function(p) p.Count)
    MessageBox.Show(max)
0 голосов
/ 20 декабря 2018

Если все, что вам нужно, это длина самого длинного списка ...

Private A As New List(Of String) From {"Mathew", "Mark", "Luke", "John"}
Private B As New List(Of String) From {"Apples", "Oranges", "Pears"}
Private C As New List(Of String) From {"Haddock", "Salmon"}
Private D As New List(Of String) From {"Great Dane", "Poodle", "Bulldog", "Spaniel", "Golden Retriever"}

Private Sub GetMaxListLength()
    Dim E() As Integer = {A.Count, B.Count, C.Count, D.Count}
    Dim max = E.Max
    MessageBox.Show(max.ToString)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...