-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

你的输出没有错,这两个字符串是不同的:

$ss 有一个- [char]45

$ss2有一个- [char]8211

和返回这个的compareTo方法: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 回答