String 即使sring不相同,也会进入状态
我是VB.NET的初学者。我在一个车辆列表中循环,如果字符串中的数字符合一些条件,则将字符串中的索引添加到另一个列表中 第一个条件;如果不是,则项等于(“11652”)即使不是真的,也仍然处于状态 Equals(),notequals(),Tostring.EqualsString 即使sring不相同,也会进入状态,string,vb.net,if-statement,equals,String,Vb.net,If Statement,Equals,我是VB.NET的初学者。我在一个车辆列表中循环,如果字符串中的数字符合一些条件,则将字符串中的索引添加到另一个列表中 第一个条件;如果不是,则项等于(“11652”)即使不是真的,也仍然处于状态 Equals(),notequals(),Tostring.Equals Dim cpti = 0 For Each item In Vehicules.Items If ex = 1 Then If Not item.Equals("11652") Or item.ToSt
Dim cpti = 0
For Each item In Vehicules.Items
If ex = 1 Then
If Not item.Equals("11652") Or item.ToString() <> "11785" Or item.ToString() <> "11814" Or item.ToString() <> "11852" Or item.ToString() <> "11853" Then
list.Add(cpti)
End If
If item.ToString() = "530011" Or item.ToString() = "530012" Or item.ToString() = "530013" Or item.ToString() = "530014" Or item.ToString() = "530015" Or item.ToString() = "530016" Or item.ToString() = "530017" Or item.ToString() = "530018" Or item.ToString() = "530019" Or item.ToString() = "530020" Then
list.Add(cpti)
End If
ElseIf ex = 3 Then
If item.ToString() <> "326481" Or item.ToString() <> "326483" Or item.ToString() <> "326556" Or item.ToString() <> "326557" Then
list.Add(cpti)
End If
Else
liste.Add(cpti)
End If
cpti = cpti + 1
Next
Dim cpti=0
适用于车辆中的每个项目。项目
如果ex=1,则
如果不是item.Equals(“11652”)或item.ToString()“11785”或item.ToString()“11814”或item.ToString()“11852”或item.ToString()“11853”,则
列表.添加(cpti)
如果结束
如果item.ToString()=“530011”或item.ToString()=“530012”或item.ToString()=“530013”或item.ToString()=“530014”或item.ToString()=“530015”或item.ToString()=“530016”或item.ToString()=“530017”或item.ToString()=“530018”或item.ToString()=“530019”或item.ToString()=“530020”,则
列表.添加(cpti)
如果结束
ElseIf ex=3那么
如果item.ToString()“326481”或item.ToString()“326483”或item.ToString()“326556”或item.ToString()“326557”,则
列表.添加(cpti)
如果结束
其他的
添加列表(cpti)
如果结束
cpti=cpti+1
下一个
让我们看这一行
If item <> "11652" Or item <> "11785" Then
如果项目“11652”或项目“11785”,则
这永远是正确的。让我们举个例子
item = "1"
If item <> "11652" Or item <> "11785" Then
If True Or True Then ' Both of them are True, go in the If
item = "11652"
If item <> "11652" Or item <> "11785" Then
If False Or True Then ' One of them is true, go in the If
item = "11785"
If item <> "11652" Or item <> "11785" Then
If True Or False Then ' One of them is true, go in the If
item=“1”
如果项目“11652”或项目“11785”,则
如果是真的或是真的,那么‘两个都是真的,进入If
item=“11652”
如果项目“11652”或项目“11785”,则
如果是假的或是真的,那么其中一个是真的,进入If
item=“11785”
如果项目“11652”或项目“11785”,则
如果是真的或是假的,那么其中一个是真的,进入If
你可能想做和,而不是或。但是我不知道你想做什么背后的逻辑,所以我不能给你一个直接的答案。你的
If
语句没有意义。如果将同一个值与或介于两者之间的运算符进行多次比较,则始终会匹配所有值,因为一个值不能同时等于两个不同的值。例如,如果你使用如果x“A”或x“B”或x“C”,那么你将得到x的任何值,因为如果它是“A”,那么它就不是“B”或“C”,如果它是“B”,那么它就不是“A”或“C”等等。您需要先考虑一下逻辑,然后编写代码来实现合理的逻辑。非常感谢,Gotchahlo,感谢您的快速回复,如果不是这个#或这个#,或这个或这个,那么逻辑就是添加项。@Mr1000lb ah!然后你需要和。或者更好的办法是,把你所有的数字都列在一个列表中,然后勾选NotBadNumberList.Contains(项)