2

私はaspアプリからいくつかのvbscriptを変換していて、次の形式の行に出くわしました

If sCode > "" Then

ここにsCode文字列が含まれていると思います。私はそれを通り抜けるのに十分なvbscriptを知っていますが、いくつかの奇妙なステートメントの動作がわかりません。c#はそれを有効な条件チェックとして受け入れません。同等のc#ステートメントとは何ですか?

編集:誰かがvbscriptの動作に関するドキュメント/リファレンスを提供できる場合は特に感謝します。

4

5 に答える 5

2

C# では文字列も になる可能性があるNULLため、次のように使用します。

if(!string.IsNullOrEmpty(sCode))
    //do something
于 2010-08-24T14:34:12.087 に答える
1

私は vbscript の専門家ではありませんが、vbscript が>文字列でオーバーロードされ、それらを通常どおりに比較できるようになっていると思います。その場合、C#sCode.CompareTo(string.Empty)では必要なものが得られます。sCode が空の文字列より小さい場合は -1 (この場合は不可能です)、等しい場合は 0、sCode が後に来る場合は 1 です。

この特定のケースでは、sCode が空の文字列かどうかを確認できます。

于 2010-08-24T14:36:20.223 に答える
0

コードの意図のように見える != を実行するだけです。

if(sCode != String.Empty)
  Do();
于 2010-08-24T14:34:21.773 に答える
0

特定のケースでは、単に「string.Empty」と比較しますが、より一般的な答えは、(通常) 大文字と小文字を区別しない英数字の比較であるということです。たとえば、"ababa" < "z1asdf" は true です。C# でそれを表すには、次のようにします。

'string.Compare(A,B) < 0' は 'A と同等です

(通常)指定できるので

于 2010-08-24T14:54:10.580 に答える
0

次のように、"<>" (等しくない) 演算子を使用します。

dim string
string = "hello"
if (string <> "") then
    WScript.Echo "We're Ok" & VbCrLf
else
    WScript.Echo "Empty String" & VbCrLf
End if
于 2010-08-27T12:32:35.943 に答える