无法比较从tcp VB.Net接收的字符串
我正在开发一个通过tcp接收字符串的应用程序。然后,我使用一个除数器解析字符串 到目前为止一切正常。然而,我想做一个简单的if语句,对解析的结果进行字符串比较 每个结果都有两个参数,imagePath和imageID。如果imageID不是NULL,我想执行一些操作。但是,即使当我收到值为NULL的imageID时,if语句中的操作也会被触发 这是我接收和解析的字符串的一个示例:无法比较从tcp VB.Net接收的字符串,vb.net,if-statement,tcp,string-comparison,Vb.net,If Statement,Tcp,String Comparison,我正在开发一个通过tcp接收字符串的应用程序。然后,我使用一个除数器解析字符串 到目前为止一切正常。然而,我想做一个简单的if语句,对解析的结果进行字符串比较 每个结果都有两个参数,imagePath和imageID。如果imageID不是NULL,我想执行一些操作。但是,即使当我收到值为NULL的imageID时,if语句中的操作也会被触发 这是我接收和解析的字符串的一个示例: V:/Movies/Pic010.jpg=59289|V:/Movies/Pic011.jpg=59318|V:/M
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试试看
if not imageID is DBNull.Value Then
.Net对空值很挑剔,他们希望您进行is比较,而不是=