[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
字符串拼接慢可以用stringbuilder
但问题是,key value应该需要encodeuri吧,而且url好像有长度限制,不会太长应该也不会慢太多的

TOP

回复 3# 小白龙


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

评分人数

TOP

回复 7# 小白龙


    圆括号里是要执行的代码,花括号里是变量名
"$($x)"应该等于"${x}",但"$(x)"会报错找不到x命令

TOP

返回列表