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