我已经用其他语言进行了很多编程,但是我对PowerShell还是很陌生。我知道比较运算符的区分大小写,但对某些结果感到不安。
我假设PowerShell在进行字符串比较时使用了ASCII(Unicode)值,所以我希望这样
"abc" -clt "ABC"
导致False –但是没有
这在某种意义上是直观的(低端必须小于上端-对吗?),但从ASCII的角度来看却没有意义。这是刚改成罗马字母字符吗?还是有更多的惊喜在等我?
Ex
"#$%" -clt ")*+"
按预期工作(即True)。
我假设在进行字符串比较时,PowerShell使用ASCII(Unicode)值
它不是:)
PowerShell中比较运算符的特定于字符串的重载均以字母顺序]进行操作,这也意味着优先于大写字母而不是其小写字母。
[另一种思考方式:如果您是图书馆员,并且不得不由两位分别以John Doe
和john doe
称呼自己的风格来对同一主题的书进行索引,那么您可能会优先考虑John Doe
:)