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

Powershell:char[]和String之间有什么区别?,powershell,Powershell,通过使用char[]和String,我发现$request.ContentType的结果有所不同 $request=[System.Net.HttpWebRequest].create($URL) 如果我使用char[]和string发出这样的请求,那么服务器端的实际输出有什么不同 太令人困惑了…我想应该是一样的 谢谢我想我已经解决了这个问题。看看这个: PS D:\> $foo = "bar" PS D:\> $foo bar PS D:\> $faz = [string][

通过使用char[]和String,我发现$request.ContentType的结果有所不同

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

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

太令人困惑了…我想应该是一样的


谢谢

我想我已经解决了这个问题。看看这个:

PS D:\> $foo = "bar"
PS D:\> $foo
bar
PS D:\> $faz = [string][char[]]"baz"
PS D:\> $faz
b a z
Powershell将把您的
char[]
强制转换为
字符串
,因为
HttpRequest.ContentType
属于
string
类型,但是当Powershell将数组转换为字符串时,它会在每个元素之间插入一个特殊变量
$OFS
的值。的帮助包含有关
$OFS
(以及其他内容)的信息。
$OFS
的默认值是解释此行为的空格


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

我想我已经解决了这个问题。看看这个:

PS D:\> $foo = "bar"
PS D:\> $foo
bar
PS D:\> $faz = [string][char[]]"baz"
PS D:\> $faz
b a z
Powershell将把您的
char[]
强制转换为
字符串
,因为
HttpRequest.ContentType
属于
string
类型,但是当Powershell将数组转换为字符串时,它会在每个元素之间插入一个特殊变量
$OFS
的值。的帮助包含有关
$OFS
(以及其他内容)的信息。
$OFS
的默认值是解释此行为的空格


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

我不清楚——你们两个都试过了吗?你觉得有什么不同吗?如果是这样,您看到了什么区别?是的,有区别,我发现使用char[],服务器端无法重新编码应用程序/x-www-url-formurlend“,但我认为它们不应该有区别,对吗?我不清楚——你们两个都试过了?你觉得有什么不同吗?如果是这样,您看到了什么区别?是的,有区别,我发现使用char[],服务器端无法重新编码应用程序/x-www-url-formurlend“,但我认为他们不应该有区别,对吗?哦…谢谢你…但你知道为什么会发生这种情况吗?”?太令人困惑了…而且让我调试了这么长时间,这足以让我知道,PowerShell使用$OFS特殊变量将“$array”更改为“$array[0]$OFS$array[1]$OFS$array[2]”。如果您想加入没有任何字符的数组-只需使用一元连接:-加入$array->$array[0]$array[1]$array[2]哦…非常感谢…但是您知道为什么会发生这种情况吗?太令人困惑了…而且让我调试了这么长时间,这足以让我知道,PowerShell使用$OFS特殊变量将“$array”更改为“$array[0]$OFS$array[1]$OFS$array[2]”。如果要在没有任何字符的情况下联接数组,只需使用一元联接:-join$array->$array[0]$array[1]$array[2]