-1

Powershellスクリプトに次のコードがあります:

$service = "Letters – Email"

$ss = "`"Letters - Email`""
$ss2 = "`"$service`""

$ss
$ss2

$ss2.CompareTo($ss)
$ss -eq $ss2

これの出力は次のとおりです。

"Letters - Email"
"Letters – Email"
1
False

出力がわかりません。助けていただけますか?

編集:私は問題を理解しました。使用するハイフンが異なります。お時間を無駄にして申し訳ありません。

4

2 に答える 2

1

出力に問題はありません。2 つの文字列が異なります。

$ss 持っている- [char]45

$ss2持っている- [char]8211

compareToメソッド forはこれをstring返します:

Less than zero 
 This instance is less than strB. 

Zero 
 This instance is equal to strB. 

Greater than zero 
 This instance is greater than strB.

-or- 

strB is a null reference (Nothing in Visual Basic). 

string.compareTo メソッドの詳細については、こちらをお読みください。

于 2013-06-20T10:30:40.717 に答える
-1

二重引用符内の変数はその値に展開されるため、$ss2 を割り当てると、$service 変数は "Letters – Email" に展開されます。これが両方の変数が同じになる理由です。

于 2013-06-20T10:05:30.900 に答える