How to build a query string for a URL in C#?

前端 未结 30 3185
借酒劲吻你
借酒劲吻你 2020-11-22 01:55

A common task when calling web resources from a code is building a query string to including all the necessary parameters. While by all means no rocket science, there are so

30条回答
  •  忘掉有多难
    2020-11-22 02:22

    Untested, but I think something along these lines would work quite nicely

    public class QueryString
    {
        private Dictionary _Params = new Dictionary();
    
        public overide ToString()
        {
            List returnParams = new List();
    
            foreach (KeyValuePair param in _Params)
            {
                returnParams.Add(String.Format("{0}={1}", param.Key, param.Value));
            }
    
            // return String.Format("?{0}", String.Join("&", returnParams.ToArray())); 
    
            // credit annakata
            return "?" + String.Join("&", returnParams.ToArray());
        }
    
        public void Add(string key, string value)
        {
            _Params.Add(key, HttpUtility.UrlEncode(value));
        }
    }
    
    QueryString query = new QueryString();
    
    query.Add("param1", "value1");
    query.Add("param2", "value2");
    
    return query.ToString();
    

提交回复
热议问题