powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как получить массив списков List
5 сообщений из 5, страница 1 из 1
как получить массив списков List
    #40060779
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Как получить из двумерного массива G(,) массив списков строк a(0..6) с указанием множеств номеров столбцов, где попадаются цифры "1". Например, для первой строки нужен список a(0)={5}; a(1)={0;4}; a(2)={5}; a(3)={1;6} считаем столбцы и строки с нуля.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
 ReadOnly G As Short(,) = {{0, 1, 0, 0, 0, 0, 0},'столбцы j
                             {0, 0, 0, 0, 0, 1, 0},
                             {1, 0, 0, 0, 1, 0, 0},'строки i
                             {0, 0, 0, 0, 0, 1, 0},
                             {0, 1, 0, 0, 0, 0, 1},
                             {0, 0, 0, 0, 0, 0, 0},
                             {0, 0, 0, 1, 0, 0, 0}}


============================================================================================================
"О, сколько нам открытий чудных готовит просвещения дух, и опыт - сын ошибок трудных, и гений - парадоксов друг, и случай - бог изобретатель" (Пушкин, однако).

Модератор: Тема перенесена из форума "Visual Basic".
...
Рейтинг: 0 / 0
как получить массив списков List
    #40061373
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Module Program
   ReadOnly G As Short(,) = {{0, 1, 0, 0, 0, 0, 0},'столбцы j
                             {0, 0, 0, 0, 0, 1, 0},
                             {1, 0, 0, 0, 1, 0, 0},'строки i
                             {0, 0, 0, 0, 0, 1, 0},
                             {0, 1, 0, 0, 0, 0, 1},
                             {0, 0, 0, 0, 0, 0, 0},
                             {0, 0, 0, 1, 0, 0, 0}}
   ReadOnly i_max As Short = G.GetLength(0) - 1
   Sub Main()
      Dim i, j As Short, a(i_max) As List(Of Integer)

      For i = 0 To i_max
         Dim b As New List(Of Integer)
         For j = 0 To i_max
            If G(i, j) > 0 Then b.Add(j)
         Next
         a(i) = b
      Next
      'Console.WriteLine(String.Join(vbCrLf, a.Select(Function(x) x.ToString).ToArray))
      Console.WriteLine(String.Join("; ", From a In (From b As List(Of Integer) In a Select r.Select(Function(x) x.ToString())) Select "{" & String.Join("-", t) & "}"))
   End Sub
End Module


Я тут пытаюсь вывести содержимое массива списков на консоль, мне прислали вот эту строку:
Код: vbnet
1.
Console.WriteLine(String.Join("; ", From a In (From b As List(Of Integer) In a Select r.Select(Function(x) x.ToString())) Select "{" & String.Join("-", t) & "}"))


Но мне не всё здесь понятно, что зачем и почему. Может кто-нибудь подробно прокомментировать это формирование строки?
...
Рейтинг: 0 / 0
как получить массив списков List
    #40061375
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
как получить массив списков List
    #40061398
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtes,

вы не могли бы "разжевать" мой образец для начинающего .net? Мне надо вывести массив a() из списков b<> с разным числом элементов в каждом списке на консоль.
...
Рейтинг: 0 / 0
как получить массив списков List
    #40061400
Фотография dab2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работает вот этот код:
Код: vbnet
1.
Console.WriteLine(String.Join("; ", From t In (From r As List(Of Integer) In a Select r.Select(Function(x) x.ToString())) Select "{" & String.Join("-", t) & "}"))

Но как я не очень понимаю, в т.ч. почему нет типизации t, r, x?.. Кто бы расписал последовательность выполнения всей этой крутой строки?
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / как получить массив списков List
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]