酢ろぐ!

カレーが嫌いなスマートフォンアプリプログラマのブログ。

WindowsストアアプリでLINQを使ってクエリ文字列(URLパラメータ)を簡単に作る

下記のようによく見かけるURL形式があります。

http://example.com/action?param1=hoge&param2=hige

「?」以降のparam1=hoge&param2=higeの部分をクエリ文字列(URLパラメータ)と呼びます。

string.Formatメソッドを使ってhogeとhigeの部分を当てはめる方法もアリですが、より簡単に実装してみましょう。

static public string ToUrlParam(Dictionary<string, string> dictionary)
{
    var paramList = dictionary
        .Select(item => string.Format("{0}={1}", item.Key, item.Value));
    return string.Join("&", paramList);
}

呼び元では以下のように使うことができます。

var param = new Dictionary<string, string>();
param["param1"] = "hoge";
param["param2"] = "hige";
            
var url = "https://example.com/action?" + ToUrlParam(param);