如果<> ...我错过了什么
if <> ... What am I missing
我找不到任何理由让我认为这行不通。无论如何,这总是评估 if 语句中的代码。
我试着把所有的东西都放在 () 里 我试着用 () 分隔每条语句。不管怎样,它总是运行 if 语句中的代码。我错过了什么?
' Update by Adam W. Schneider 11/10/2017
If strDrawingSize <> "T" Or strDrawingSize <> "Y" Or strDrawingSize <> "Z" Or strDrawingSize <> "M" Or strDrawingSize <> "P" Or strDrawingSize <> "S" Or strDrawingSize <> "N" Or strDrawingSize <> "W" Or strDrawingSize <> "X" Or strDrawingSize <> "R" Or strDrawingSize <> "O" Then
' Update by Adam Schneider 08/24/2017
cboRefDrawingSize.Text = cboDrawingSize.Text
End If
我知道那是一个丑陋的 if 语句,我尝试在 case 语句中使用负逻辑,但这也不起作用。
正如其他人所说,您的代码将始终执行,因为您使用的是 OR 而不是 AND。
更简洁的方法是使用 Select Case
:
Select Case strDrawingSize
Case "T", "Y", "Z", "M", "P", "S", "N", "W", "X", "R", "O"
Case Else
' Update by Adam Schneider 08/24/2017
cboRefDrawingSize.Text = cboDrawingSize.Text
End Select
据我了解,您想检查 strDrawingSize
是否不是所需字母之一。如果是这种情况,则对所需字母使用 IndexOf 方法来比较它是否为 -1:
If "TYZMPSNWXRO".IndexOf(strDrawingSize) = -1 Then
cboRefDrawingSize.Text = cboDrawingSize.Text
End If
Fiddle: Live Demo
它是这样工作的:本质上,字符串是 Char 值的集合,IndexOf 方法 returns 集合中给定值的索引,如果值为 returns -1没有找到。
我找不到任何理由让我认为这行不通。无论如何,这总是评估 if 语句中的代码。
我试着把所有的东西都放在 () 里 我试着用 () 分隔每条语句。不管怎样,它总是运行 if 语句中的代码。我错过了什么?
' Update by Adam W. Schneider 11/10/2017
If strDrawingSize <> "T" Or strDrawingSize <> "Y" Or strDrawingSize <> "Z" Or strDrawingSize <> "M" Or strDrawingSize <> "P" Or strDrawingSize <> "S" Or strDrawingSize <> "N" Or strDrawingSize <> "W" Or strDrawingSize <> "X" Or strDrawingSize <> "R" Or strDrawingSize <> "O" Then
' Update by Adam Schneider 08/24/2017
cboRefDrawingSize.Text = cboDrawingSize.Text
End If
我知道那是一个丑陋的 if 语句,我尝试在 case 语句中使用负逻辑,但这也不起作用。
正如其他人所说,您的代码将始终执行,因为您使用的是 OR 而不是 AND。
更简洁的方法是使用 Select Case
:
Select Case strDrawingSize
Case "T", "Y", "Z", "M", "P", "S", "N", "W", "X", "R", "O"
Case Else
' Update by Adam Schneider 08/24/2017
cboRefDrawingSize.Text = cboDrawingSize.Text
End Select
据我了解,您想检查 strDrawingSize
是否不是所需字母之一。如果是这种情况,则对所需字母使用 IndexOf 方法来比较它是否为 -1:
If "TYZMPSNWXRO".IndexOf(strDrawingSize) = -1 Then
cboRefDrawingSize.Text = cboDrawingSize.Text
End If
Fiddle: Live Demo
它是这样工作的:本质上,字符串是 Char 值的集合,IndexOf 方法 returns 集合中给定值的索引,如果值为 returns -1没有找到。