如何识别字符串不应该以S和V开头

本文关键字:开头 不应该 字符串 何识别 识别 | 更新日期: 2023-09-27 18:17:49

嗨,我想检查字符串不应该以V和s开头,我使用下面的代码来查找。但它总是在误差部分。请帮我做这件事。

   if (!Smc.StartsWith("V") || !Smc.StartsWith("S"))
   {
       RetStr = "1:Invalid String";
       return RetStr;
   }

如何识别字符串不应该以S和V开头

如果您想在字符串以V或S开头时进入错误部分,您可以这样做…

if ( Smc.StartsWith("V") || Smc.StartsWith("S"))
{
    RetStr = "1:Invalid String";
    return RetStr;
}

现在,您的if条件基本上是:

"如果Smc不是以V开头,或者Smc不是以S开头"

由于字符串不能同时以V和S开头,因此这两个语句中至少有一个总是为真。

您需要删除not操作符,如下所示:

 if (Smc.StartsWith("V") || Smc.StartsWith("S"))
 {
     RetStr = "1:Invalid String";
     return RetStr;
 }

IF语句

  if (!Smc.StartsWith("V") || !Smc.StartsWith("S"))

被解释为smc不以"V"开头或者 smc不以"S"开头

如果smc从S开始,那么它不是从v开始,所以第一个条件成立。如果smc从V开始,那么它不是从S开始,所以第二个条件成立。如果smc以任何其他字符开头,则两个条件都为真。

因此它总是执行返回块。