带有OR和AND的IF语句

时间:2014-01-08 14:31:57

标签: vb.net visual-studio-2010 if-statement

以下是我当前的if语句。我正在尝试检查某些文件是否存在,并且看起来我的第一次检查,(或/和)没有拾取任何这些文件,从而失败到msgbox语句。我添加了()我认为它有意义,但仍然没有拿起任何文件。

目前,文件2.txt和4.txt确实存在于C:\ Temp。

有关我缺少的任何建议吗?

If (My.Computer.FileSystem.FileExists("C:\Temp\1.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt")) And _
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

<<do something here1>>

Else

Msgbox("No files exist.")

EndIf

2 个答案:

答案 0 :(得分:0)

最终我错过了一个人。

感谢@Dan Puzey建议使用Boolean检查文件是否存在。使用它时,我的文件确实不存在,因为该文件有一个额外的空间。

我最后仍然使用IF语句,添加了两个额外的parens,现在它似乎正在工作。

@varocarbas最初建议这是一个答案(虽然不太确定为什么它被删除了)但是想在信用到期时给予信任。

If ((My.Computer.FileSystem.FileExists("C:\Temp\1.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") Or _
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt"))) And _
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

<<do something here1>>

Else

Msgbox("No files exist.")

EndIf

答案 1 :(得分:-1)

如果要检查所有文件都存在,请使用AndAlso
    如果所有四个文件都存在,则返回true

If  My.Computer.FileSystem.FileExists("C:\Temp\1.txt") AndAlso
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") AndAlso
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt") AndAlso
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

    <<do something here1>>

Else

   Msgbox("No files exist.")

EndIf

如果您想检查文件中是否存在任何文件,请使用OrElse
    如果存在这些文件,则返回true

If  My.Computer.FileSystem.FileExists("C:\Temp\1.txt") OrElse
    My.Computer.FileSystem.FileExists("C:\Temp\2.txt") OrElse
    My.Computer.FileSystem.FileExists("C:\Temp\3.txt") OrElse
    My.Computer.FileSystem.FileExists("C:\Temp\4.txt") Then

    <<do something here1>>

Else

   Msgbox("No files exist.")

EndIf