回复 3# 小白龙
据说:字符串连接时,每次都要重新申请空间,所以第一部分会被复制无数次,所以慢,stringbuilder可以扩展自身的空间,不会重复申请所以快一点,然后搜到下面的代码是用arraylist然后join,应该也是一样的,然后urlencode是为了消除url里的符号比如空格会变成%20,不知算不算画蛇添足- $bodyParams = @{
- name = "Divid"
- age = "23"
- # 下面还有很多
- }
- [System.Collections.ArrayList] $qs_array = @()
- foreach ($qs in $bodyParams.GetEnumerator()) {
- $qs_key = [System.Web.HttpUtility]::UrlEncode($qs.Name)
- $qs_value = [System.Web.HttpUtility]::UrlEncode($qs.Value)
- $qs_array.Add("${qs_key}=${qs_value}") | Out-Null
- }
- $qs_array -join '&'
复制代码
|