用字符串替换任何内容

Replacing nothing with a string

这可能是一个简单的问题,但我已经搜索了很多网站并尝试了一些我自己的想法,但我似乎仍然无法找到一种简单的方法来让 Visual Studio 替换所有的带有字符串的列表框项目和一些其他文本。

使用诸如:

For Each S In ListBox1.Items
            S.Replace("", "Not Blank")
        Next

显示:

Error
String cannot be of zero length

这很烦人,因为实际的列表框项目不包含文本。 这似乎是我在使用 vb.net 时遇到的最简单的事情之一。但是现在看来,本该是一个简单的命令,却很难。

几个问题。 Replace 函数 returns 一个新值,您立即忽略它。其次,您不能在对集合进行 For-Each 时真正修改集合,因此 For-Loop 会更合适。

我想你想要这样的东西:

For i As Integer = 0 To ListBox1.Items.Count - 1
  If String.IsNullOrEmpty(ListBox1.Items(i).ToString) Then
    ListBox1.Items(i) = "Not Blank"
  End If
Next