Dictonary<T1,T2>.ToString()

C# 3.0 4.0以降。LINQのメソッド式表現はほとんど使わない私ですが、これLink はちょっと感動。

string.Join(",", dictonary.Select(kv => kv.Key.ToString() + "=" + kv.Value.ToString()));

[参考] Is there anyway to handy convert a dictionary to String? (stackoverflow)Link

[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());

— posted by mu at 07:32 pm   commentComment [0]  pingTrackBack [0]

この記事に対する TrackBack URL:

設定によりTB元のページに、こちらの記事への言及(この記事へのリンク)がなければ、TB受付不可となりますのであらかじめご了承下さい。

コメントをどうぞ。 名前(ペンネーム)と画像認証のひらがな4文字は必須で、ウェブサイトURLはオプションです。

ウェブサイト (U):

タグは使えません。http://・・・ は自動的にリンク表示となります

:) :D 8-) ;-) :P :E :o :( (TT) ):T (--) (++!) ?;w) (-o-) (**!) ;v) f(--; :B l_P~ (QQ)

     

[X] [Top ↑]

T: Y: ALL: Online:
ThemeSwitch
  • Basic
Created in 0.4268 sec.
prev
2012.9
next
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30