C# 3.0 4.0以降。LINQのメソッド式表現はほとんど使わない私ですが、これ はちょっと感動。
string.Join(",", dictonary.Select(kv => kv.Key.ToString() + "=" + kv.Value.ToString()));
[参考] Is there anyway to handy convert a dictionary to String? (stackoverflow)
[2012/9/7 追記] よく考えるとクエリ形式でも書けます。LINQによる簡潔な表現としての感動は変わらず。string.Join(",", from kv in dictionary select kv.Key.ToString() + "=" + kv.Key.ToString());[2012/9/7 追記] String.Join(String, IEnumerable<String>)が実装されたのは.NET Framework4以降のようなので、上記はC# 4.0以降で有効。LINQ式の最後に.ToArray()を付ければC# 3.0でも行けるでしょう(簡潔さが悪化するので感動は薄れる ^ ^;)。
string.Join(",", dictonary.Select(kv => kv.Key.ToString() + "=" + kv.Value.ToString()).ToArray()); string.Join(",", (from kv in dictionary select kv.Key.ToString() + "=" + kv.Key.ToString()).ToArray());
Comments