Powershell:char []和String之间有什么区别?

时间:2012-05-25 03:27:19

标签: powershell

我发现结果$ request.ContentType是使用char []和String。

的区别
  

$ request = [System.Net.HttpWebRequest] .create($ URL)

$request.ContentType = [char[]] "application/x-www-url-formurlened"
$request.ContentType = "application/x-www-url-formurlened"

如果我使用char []和string发出了类似的请求,那么到服务器端的实际输出有什么不同?

令人困惑......我想它应该是相同的

感谢

1 个答案:

答案 0 :(得分:5)

我想我发现了这个问题。看看这个:

PS D:\> $foo = "bar"
PS D:\> $foo
bar
PS D:\> $faz = [string][char[]]"baz"
PS D:\> $faz
b a z

Powershell会将char[]投射到string,因为HttpRequest.ContentType的类型为string,但是当Powershell将数组转换为字符串时,它会插入一个值{每个元素之间的特殊变量$OFSabout_special_variables的帮助包含有关$OFS(以及其他内容)的信息。 $OFS的默认值是一个解释此行为的空格。

(感谢BartekB在评论中指出$ OFS。)