【发布时间】:2014-06-17 09:21:38
【问题描述】:
我正在开发一个通过 tcp 接收字符串的应用程序。然后我使用分隔符解析字符串。
到目前为止一切正常。但是我想做一个简单的 if 语句,对解析的结果进行字符串比较。
每个结果都有两个参数,imagePath 和 imageID。如果 imageID 不为 NULL,我想执行一些操作。但是,即使我收到值为 NULL 的 imageID,也会触发 if 语句中的操作。
这是我接收和解析的字符串示例:
V:/Movies/Pic010.jpg=59289|V:/Movies/Pic011.jpg=59318|V:/Movies/Pic012.jpg=59278|V:/Movies/Pic04.jpg=59256|V:/Movies/Pic05.jpg=59351|V:/Movies/Pic07.jpg=59267|V:/Movies/Pic08.jpg=59307|V:/Movies/Pic09.jpg=59340|V:/Movies/longWaydown.png=59374|V:/Movies/mali.png=59329|V:/Pic010.jpg=NULL|V:/Pic011.jpg=NULL|V:/Pic03.jpg=NULL|V:/Pic04.jpg=NULL
这是导致问题的带有 if 语句的解析代码:
Dim imagesStatus As New Hashtable
Dim tempImagesArray As String()
tempImagesArray = imagesStatusString.Split("|")
For Each img In tempImagesArray
Dim imagePath As String = img.Remove(img.IndexOf("="))
Dim imageID As String = img.Substring(img.IndexOf("=") + 1)
imagesStatus(imagePath) = imageID
Next
Try
Dim tempMovieQue As New List(Of String)
For Each movieAsset In currentMovieAssets.Values
Dim imageID As String = imagesStatus(graphicAssetsBasePath & "/" & movieAsset("poster").ToString)
imageID = imageID.Trim()
If Not imageID = "NULL" Then // THIS DOES NOT WORK
Console.WriteLine(imageID)
tempMovieQue.Add("{{imageID} {" & imageID & "} {genre} {" & movieAsset("genre") & "} {special} {" & movieAsset("special") & "} {title} {" & movieAsset("asset") & "}}")
End If
Next
当我运行调试并检查 imageID 值时,它收到值“NULL”,因此我无法理解为什么我的 if 语句失败。
任何建议将不胜感激! TIA
【问题讨论】:
标签: vb.net if-statement tcp string-comparison