我有6-7个bool值,如bookmark,authoredBy和其他一些作为过滤器,我想形成url,如果任何过滤器应用它连接到主url像 什么?bookmark = true& author = true和这样我可以使用if else但是那将是冗长的还有其他任何方法
答案 0 :(得分:1)
嗯,这样做,
........
string url = "http://www.google.com?";
if(bookmark)
{
url+="bookmark=true&"
}
if(author)
{
url+="author=true&"
}
...........
对于其他变量,采用相同的方式..
答案 1 :(得分:1)
String url = "google.com?";
bool bookmark = true, author=true;
if(bookmark)
{
url += "bookmark=true&";
}
if(author)
{
url = "author=true&"
}
url = url.Substring(0,url.length-1);
答案 2 :(得分:1)
考虑使用URIBuilder
类。请查看此示例 - http://www.codeproject.com/KB/aspnet/UrlBuilder.aspx
或者,检查此SO问题的答案。这是一个更面向对象的解决方案 -
答案 3 :(得分:0)
string formQueryFromBool(string name , bool val){
return ((val) ? name + "=" + val.toString() : "" );
}
bool bookmark=false;
bool author=true;
var qString = formQueryFromBool("bookmark",bookmark) + "&" + formQueryFromBool("author",author)