Двумерный массив в string и обратно - Visual Basic .NET
Формулировка задачи:
Доброго времени суток!
Имеется код который переводит двумерный массив в строку и обратно, есть ли возможность преобразование массива без использования циклов?
Листинг программы
- Public Class Form1
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim q(1, 2) As String
- q(0, 0) = "0.0"
- q(0, 1) = "0.1"
- q(0, 2) = "0.2"
- q(1, 0) = "1.0"
- q(1, 1) = "1.1"
- q(1, 2) = "1.2"
- Dim w As String = ""
- For i As Integer = 0 To q.GetLength(0) - 1
- For ii As Integer = 0 To q.GetLength(1) - 1
- w = w & q(i, ii) & "?"
- If ii = q.GetLength(1) - 1 Then
- w = w & "@"
- End If
- Next
- Next
- MsgBox(w)
- 'обратный перевод данных в массив ИЗ STRING
- For i As Integer = 0 To q.GetLength(0) - 1
- For ii As Integer = 0 To q.GetLength(1) - 1
- q(i, ii) = w.Split("?")(ii)
- MsgBox(q(i, ii))
- If w.Split("@").Length - 1 = 2 Then
- If ii = q.GetLength(1) - 1 Then
- w = w.Split("@")(1)
- End If
- End If
- Next
- Next
- End Sub
- End Class
Решение задачи: «Двумерный массив в string и обратно»
textual
Листинг программы
- 'to string
- Dim nj As Integer = q.GetLength(1)
- Dim ss = (From t In q Select t).Select(Function(t, i) If((i + 1) Mod nj = 0, t & "@", t & "?")).ToArray
- Dim str As String = String.Join("", ss)
- 'back in
- Dim qq(1, 2) As String
- Dim rr() As String = str.Split("@")
- For i = 0 To qq.GetLength(0) - 1
- Dim ww() As String = rr(i).Split("?")
- For j = 0 To qq.GetLength(1) - 1
- qq(i, j) = ww(j)
- Next
- Next
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д