Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
![[C#・LINQ]九九だけじゃない!アプリ開発にもゲーム開発にも使える、SelectMany! - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3d9230b3d7372856422e4db6498a32245c55e0c9/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fcdn.qiita.com%25252Fassets%25252Fpublic%25252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFwLW5vcnRoZWFzdC0xLmFtYXpvbmF3cy5jb20lMkYwJTJGNDEyNSUyRnByb2ZpbGUtaW1hZ2VzJTJGMTY2NDM2ODY1NT9peGxpYj1yYi00LjAuMCZhcj0xJTNBMSZmaXQ9Y3JvcCZtYXNrPWVsbGlwc2UmZm09cG5nMzImcz1mY2ZlN2ExMjM2M2Q3ZjZkYTY3YWZhYmIzNzVmYjQzMQ%2526blend-x%253D120%2526blend-y%253D467%2526blend-w%253D82%2526blend-h%253D82%2526blend-mode%253Dnormal%2526s%253De9a367b49eb57e103946d6d94704167a%3Fixlib%3Drb-4.0.0%26w%3D1200%26fm%3Djpg%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCQyUyMyVFMyU4MyVCQkxJTlElNUQlRTQlQjklOUQlRTQlQjklOUQlRTMlODElQTAlRTMlODElOTElRTMlODElOTglRTMlODIlODMlRTMlODElQUElRTMlODElODQlRUYlQkMlODElRTMlODIlQTIlRTMlODMlOTclRTMlODMlQUElRTklOTYlOEIlRTclOTklQkElRTMlODElQUIlRTMlODIlODIlRTMlODIlQjIlRTMlODMlQkMlRTMlODMlQTAlRTklOTYlOEIlRTclOTklQkElRTMlODElQUIlRTMlODIlODIlRTQlQkQlQkYlRTMlODElODglRTMlODIlOEIlRTMlODAlODFTZWxlY3RNYW55JTIxJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9NjA2YWQwNDliYTgxYTdhNmIzNjI4Y2Y2ZDc5ZTJmZDE%26mark-x%3D120%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDBSeW90YU11cm9ob3NoaSZ0eHQtY29sb3I9JTIzMUUyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1wYWQ9MCZzPWFiNWU1MDVkNDE5NDI0M2Q4YjNkOTRiYWJiOWI2MGQ3%26blend-x%3D242%26blend-y%3D480%26blend-w%3D838%26blend-h%3D46%26blend-fit%3Dcrop%26blend-crop%3Dleft%252Cbottom%26blend-mode%3Dnormal%26s%3D0895bc9f832bb7e350c8227e12f98d61)
これはもともとお仕事記事として書いていたのですが、いろいろ折り合いつかず流れてしまいました。 まだ書きかけですが、完成させる気もいまいち湧かなかったので、このまま公開します。 サンプルプロジェクトは https://github.com/karino2/BParserDSL に置いておきます。 ------ 概要 LINQとはC# 3.0 から導入された、SelectManyのシンタックスシュガーの事だ。 近年ではRxやSpracheなど、SQL以外の分野でのLINQの活用例も増えてきた。 このシンタックスシュガーを用いてDSLを作る方法を解説する。 SelectManyを定義する事で、とても短時間で強力なDSLを構築する事が出来る。 (以下本文) SelectManyは非常に強力で多くの応用がある事が判明してきていて、最近の言語では大抵言語のコアの文法要素として、このシンタックスシュガー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く