Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌套For循环vb.net_Vb.net_Loops_For Loop_Nested - Fatal编程技术网

嵌套For循环vb.net

嵌套For循环vb.net,vb.net,loops,for-loop,nested,Vb.net,Loops,For Loop,Nested,如果我在文本框中输入5,答案如下 112123123412345 如果我输入10或更多,答案将是 1121231234123451234512345 61234567123456812345679 1234567810 我的代码: Private Sub CmdOk_Click() Dim a, b, c, d, z As Integer z = TxtInput.Text For a = 1 To z Step 1 List1.AddItem a For b = 2 To z Step 1

如果我在文本框中输入5,答案如下

1
12
123
1234
12345

如果我输入10或更多,答案将是

1
12
123
1234
12345
12345
12345 6
1234567
1234568
12345679
1234567810

我的代码:

Private Sub CmdOk_Click()

Dim a, b, c, d, z As Integer
z = TxtInput.Text

For a = 1 To z Step 1
List1.AddItem a
For b = 2 To z Step 1
List1.AddItem a & " " & b
For c = 3 To z step 1
List1.AddItem a & " " & b & " " & c
For d = 4 To z Step 1
List1.AddItem a & " " & b & " " & c & " " & d
Next d
Next c
Next b
Next a

End Sub

你为什么把事情弄得这么复杂

这应该是可行的:

Private Sub CmdOk_Click()

  Dim z as String = TxtInput.Text
  Dim ListTemporary as String = "1"

  For i = 2 To Integer.parse(z) Step 1
    ListTemporary = ListTemporary & " " & i.ToString()
    List1.AddItem ListTemporary
  Next

End Sub
一行(为清晰起见编辑)

作为旁注,这种方法的速度大约是另一种方法的两倍,如果数字变大,这一点很重要。

这是有效的。试试这个

List1.Items.Clear()
    Dim i, j, z As Integer
    Dim x, a As String
    z = TxtInput.Text
    For i = 1 To z
        For j = 1 To i
            x = Convert.ToString(j)
            a = a & " " & x
        Next
        List1.Items.Add(a)
        a = ""
    Next

你有什么问题吗?@puropoix他的问题可能是它在屏幕上没有正确显示。但是是的,他没有写任何问题。我在下面贴了一个最简单的方法。这不是。但不管怎么说,还是不错的。(祝你以后调试顺利…@Sifu谢谢。我的比你的快一倍。我毫不怀疑你的比我的快得多。这就像比较
Jquery.js
Jquery.min.js
的大小一样,当然最小化版本更轻更快,但是你能理解其中的任何内容吗?我想说的是,要理解你的答案中所发生的事情要困难得多,尽管它更高效、更快。
List1.Items.AddRange(
    Enumerable.Range(1, Integer.Parse(Me.txtInput.Text)).
    Select(Of String)(
        Function(i)
            Return Enumerable.Range(2, i - 1).
                Select(Of String)(Function(i1) i1.ToString()).
                Aggregate(Of String)("1", Function(s1, s2) s1 & " " & s2)
        End Function).ToArray())
List1.Items.Clear()
    Dim i, j, z As Integer
    Dim x, a As String
    z = TxtInput.Text
    For i = 1 To z
        For j = 1 To i
            x = Convert.ToString(j)
            a = a & " " & x
        Next
        List1.Items.Add(a)
        a = ""
    Next