为什么 System.IO.File.Exists 不采用 if else 语句

Why System.IO.File.Exists doesn't take if else statement

当 运行 图像文件的以下代码时,我有 if 条件问题:

    Dim mainFolder As String = "\Users\No_Image_Available.png"
    Dim saveDirectory As String = "\IMAGE\"
    Dim Filename As String = System.IO.Path.GetFileName(mainFolder)
    Dim mainSavePath As String = System.IO.Path.Combine(saveDirectory, Filename)

    If System.IO.File.Exists(mainSavePath) Then
        'do nothing
    Else
        'file doesn't exist
        My.Computer.FileSystem.CopyFile("\Users\No_Image_Available.png", "\IMAGES\No_Image_Available.png")

    End If

如果文件不存在,那么它将接受 IF Not existIF exist 的 if 语句...但是,如果文件已经存在,它将接受复制参数是否是否符合if条件。[​​=16=]

这是为什么?就好像它仍然读取并接受第一个 'do nothing' 条件而不管。

仅供参考-您看到的路径是假的

问题是它们是服务器目录。我做了有效的更正。

Dim Filename = "No_Image_Available.png"
    Dim savePathcopy As String = Server.MapPath("~/IMAGES/")
    Dim pathToCheckCopy As String = savePathcopy + Filename

    'Dim mainSavePath As String = System.IO.Path.Combine(saveDirectory, Filename)
    If (System.IO.File.Exists(pathToCheckCopy)) Then
        ' If System.IO.File.Exists(noImg) = True Then
    Else
        'file doesn't exist
        My.Computer.FileSystem.CopyFile("\..\Dev\web\WebUsers\...\..\Classified_Ads_V2\No_Image_Available.png", "\...\Dev\web\WebUsers\...\..\...\IMAGES\No_Image_Available.png")
    End If