以下列方式为post请求构建字符串,
var itemsToAdd = sl.SelProds.ToList();
if (sl.SelProds.Count() != 0)
{
foreach (var item in itemsToAdd)
{
paramstr = paramstr + string.Format("productID={0}&", item.prodID.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
我得到产生后paramstr,我需要删除最后一个字符&在它
如何使用C#删除字符串中的最后一个字符?
Bri*_*sen 240
就个人而言,我会选择Rob的建议,但如果你想删除一个(或多个)特定的尾随字符,你可以使用TrimEnd.例如
paramstr = paramstr.TrimEnd('&');
Run Code Online (Sandbox Code Playgroud)
Rob*_*sor 75
用它构建它string.Join:
var parameters = sl.SelProds.Select(x=>"productID="+x.prodID).ToArray();
paramstr = string.Join("&", parameters);
Run Code Online (Sandbox Code Playgroud)
string.Join接受一个seperator("&")和string数组(parameters),并在数组的每个元素之间插入分隔符.
Ste*_*end 22
string source;
// source gets initialized
string dest;
if (source.Length > 0)
{
dest = source.Substring(0, source.Length - 1);
}
Run Code Online (Sandbox Code Playgroud)
Nel*_*eph 15
试试这个:
paramstr.Remove((paramstr.Length-1),1);
Run Code Online (Sandbox Code Playgroud)
Mar*_*ell 13
我不会在第一时间添加它:
var sb = new StringBuilder();
bool first = true;
foreach (var foo in items) {
if (first)
first = false;
else
sb.Append('&');
// for example:
var escapedValue = System.Web.HttpUtility.UrlEncode(foo);
sb.Append(key).Append('=').Append(escapedValue);
}
var s = sb.ToString();
Run Code Online (Sandbox Code Playgroud)
Alt*_*tel 11
string str="This is test string.";
str=str.Remove(str.Length-1);
Run Code Online (Sandbox Code Playgroud)
如果你使用它会更好string.Join.
class Product
{
public int ProductID { get; set; }
}
static void Main(string[] args)
{
List<Product> products = new List<Product>()
{
new Product { ProductID = 1 },
new Product { ProductID = 2 },
new Product { ProductID = 3 }
};
string theURL = string.Join("&", products.Select(p => string.Format("productID={0}", p.ProductID)));
Console.WriteLine(theURL);
}
Run Code Online (Sandbox Code Playgroud)
StringBuilder在连接大量字符串时使用a是一个好习惯,然后可以使用Remove方法去除最终字符.
StringBuilder paramBuilder = new StringBuilder();
foreach (var item in itemsToAdd)
{
paramBuilder.AppendFormat(("productID={0}&", item.prodID.ToString());
}
if (paramBuilder.Length > 1)
paramBuilder.Remove(paramBuilder.Length-1, 1);
string s = paramBuilder.ToString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125064 次 |
| 最近记录: |