我刚刚开始学习Visual Basic,但遇到循环问题。我要执行的操作是将字符串"ABCDEFG"
打印到列表框中,然后删除最后一个字符并打印出来,直到只剩下"A"
。
这是我正在使用的代码:
Dim abc As String = "ABCDEFG"
For i = 0 To 5
abc.Substring(0, abc.Length - 1)
lstabc.Items.Add(abc)
Next i
所需的结果看起来像这样,但我得到的只是"ABCDEFG"
行
ABCDEFG
ABCDEF
ABCDE
ABCD
ABC
AB
A
答案 0 :(得分:3)
您永远不会分配与abc不同的任何内容,因此它总是添加完整的字符串。另外,您没有为子字符串指定其他长度。试试这个。
Dim abc As String = "ABCDEFG"
Dim abc_alt as String
For i = 0 To abc.Length - 1
abc_alt = abc.Substring(0, abc.Length - i)
lstabc.Items.Add(abc_alt)
Next i
答案 1 :(得分:0)
c#中的字符串,vb.net是不可变的。因此,您需要将结果存储在另一个变量中并打印该变量。
Dim substr As String
substr = abc.Substring(0, abc.Length - i)
lstabc.Items.Add(substr)