Visual Basic循环删除最后一个字符

时间:2018-12-01 16:40:27

标签: vb.net

我刚刚开始学习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

2 个答案:

答案 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)