読者です 読者をやめる 読者になる 読者になる

さっそく Enumerable.ToLookup が役立った

.NET

URL から著者名を返してくれる Web Service が欲しい』では はてなブックマーク件数取得API を使用してまとめて被ブックマーク数を取得しました.
ただしこの API には制限があって,一回のクエリで取得できるのは 50 件までとなっています.今回であれば 480 件の URL 全ての被ブックマーク数を取得するので,50 件単位,計 10 回のクエリを行う必要があったのですが,ここに先日採り上げた Enumerable.ToLookup を投入.
具体的には,Enumerable.Select で先頭からのインデックスを取得しておき,それを 50 で割った商を使って Enumerable.ToLookup という感じで.

var partitioned = items.Select((Item, Index) => new { Item, Index })
                       .ToLookup(arg => arg.Index / 50, arg => arg.Item);

頻出気味なら Extension Method で ToLookup にバリエーション追加ですかね.

追記 (2008/09/13)

Google Profileでプロフィール作成 - 秋元@サイボウズラボ・プログラマー・ブログ』で紹介されている執筆者検索が面白い.