Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 即使sring不相同,也会进入状态_String_Vb.net_If Statement_Equals - Fatal编程技术网

String 即使sring不相同,也会进入状态

String 即使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

我是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.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(项)