如果捕获“语句条件失败”

时间:2014-03-03 14:37:35

标签: vb.net

我有一个字符串:

Dim email As String = "sampleuser@email.com;"

我只是尝试获取电子邮件地址,因此我将其拆分:

Dim emailArray As String() = Split(email, ";", 2)

在包含拆分字符串的数组中,VB正在查看电子邮件地址(0)和“”(1)

当我尝试使用以下内容循环遍历数组时,将电子邮件地址添加到邮件中:

For count As Integer = 0 to emailArray().Length - 1
  If emailArray(count) <> "" Then
    message.To.Add(emailArray(count))
  End If
Next

问题是程序仍然试图在电子邮件地址中添加“”。

2 个答案:

答案 0 :(得分:2)

使用proper String.Split

Dim results = email.split(new Char() { ";"c }, StringSplitOptions.RemoveEmptyEntries)

一行代替循环。

更一般地说,使用.NET框架方法而不是VB遗留函数(即避免像Split(…)这样的东西而是使用String.Split代替)。此外,使用For Each循环而不是基于索引的循环。

答案 1 :(得分:0)

尝试使用String.IsNullOrEmpty而不是比较,所以它看起来像这样

For count As Integer = 0 to emailArray().Length - 1
  If Not String.IsNullOrEmpty(emailArray(count)) Then
    message.To.Add(emailArray(count))
  End If
Next