我在VB和C#中有相同的If条件,如下所示
Dim str As String = "aaa"
If (str.IndexOf("bbb")) Then
Console.WriteLine("aaa")
End If
Console.ReadLine()
Run Code Online (Sandbox Code Playgroud)
C#中的代码相同
string str = "aaa";
if(str.IndexOf("bbb") > -1)
{
Console.WriteLine("aaa");
}
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
首先,你不能用C语句编写if语句,只需将IndexOf作为条件,你需要设置> -1以使其接受布尔值.但是在VB中你可以编写它,编译器不会给出任何错误,即使IndexOf返回-1如果在VB中总是求值为true.为什么会这样?