我正在从一个 asp 应用程序转换一些 vbscript 并以
If sCode > "" Then
我希望sCode
在其中包含一个字符串。我知道足够多的 vbscript 来完成它,但我不确定一些古怪语句的行为。c# 不会接受它作为有效的条件检查。什么是等效的 c# 语句?
编辑:如果有人可以为 vbscript 行为提供一些文档/参考,则非常感谢。
我正在从一个 asp 应用程序转换一些 vbscript 并以
If sCode > "" Then
我希望sCode
在其中包含一个字符串。我知道足够多的 vbscript 来完成它,但我不确定一些古怪语句的行为。c# 不会接受它作为有效的条件检查。什么是等效的 c# 语句?
编辑:如果有人可以为 vbscript 行为提供一些文档/参考,则非常感谢。
由于在 C# 中,字符串也可以是NULL
,因此我将使用以下内容:
if(!string.IsNullOrEmpty(sCode))
//do something
我不是 vbscript 专家,但我的预感是 vbscript>
用字符串重载来按顺序比较它们。因此,如果是这种情况,那么在 C# 中sCode.CompareTo(string.Empty)
将为您提供所需的内容,如果 sCode 小于空字符串(在这种情况下是不可能的),则为 -1,如果它们相等,则为 0,如果 sCode 紧随其后,则为 1。
在这种特殊情况下,您可以检查 sCode 是否为空字符串。
我只想简单地做!=,这似乎是代码的意图:
if(sCode != String.Empty)
Do();
在您的特定情况下,您只需将其与 'string.Empty' 进行比较,但更通用的答案是它(通常)是不区分大小写的字母数字比较。例如 "ababa" < "z1asdf" 是真的。要在 C# 中表示这一点,您可以这样做:
'string.Compare(A,B) < 0' 相当于 'A
(通常)因为可以指定
使用“<>”(不等于)运算符,如下所示:
dim string
string = "hello"
if (string <> "") then
WScript.Echo "We're Ok" & VbCrLf
else
WScript.Echo "Empty String" & VbCrLf
End if