Powershell中的字符串比较

时间:2013-06-20 09:55:31

标签: windows shell powershell

我在powershell脚本中有以下代码:

$service = "Letters – Email"

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

$ss
$ss2

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

这个输出是:

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

我不明白输出。你能帮忙吗?

编辑:我发现了问题。使用的连字符是不同的。抱歉浪费你的时间。

2 个答案:

答案 0 :(得分:1)

输出没有错,两个字符串不同:

$ss有一个- [char]45

$ss2有一个- [char]8211

compareTo的{​​{1}}方法会返回此信息:

string

阅读here以了解有关string.compareTo方法的更多信息。

答案 1 :(得分:-1)

双引号内的任何变量都将扩展为它们的值,因此当您分配$ ss2时,$ service变量将扩展为“Letters - Email”,这就是两个变量最终相同的原因。