ターニングポイントさん!?

タグ: LINQ

【C#】LINQの可読性

以下の記事に「LINQ 可読性」っていう検索流入があるんで、そのはなし。

初めてLINQという記法を見た人にはなんのこっちゃわからんだろう。
※LINQという名前を冠してはいるが、別に特別なことをしているわけでは無い。だから「LINQという記法」という言い方は正しくない。「LINQのクエリ式」だけが記法として独立している。

結論から言えば、LINQは読みやすい。ただ、学習コストがあるのはある。お前が最終的に達成すべきは顧客満足であって、そのためにLINQの「学習コスト」「開発工数」「保守工数」について考えねばならんだろうな。

◆LINQは何をしているのか

【C#小ネタ】LINQのエラーをtry-catchできない

◆結論

うほーーーーー!が出力される。

◆なんの話だよ

以下のリストをごらんくださぁい。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
private static void Main()
{
var hoge = new List<int> { 1 };
var fuga = Enumerable.Empty<int>();
try
{
fuga = hoge.Select(x =>
{
throw new Exception("こらーーーー!");
return 0;
});
}
catch (System.Exception)
{
Console.WriteLine("ほげーーーーー!");
}
try
{
fuga.Any();
}
catch (System.Exception)
{
Console.WriteLine("うほーーーーー!");
}
Console.ReadLine();
}
private static void Main() { var hoge = new List<int> { 1 }; var fuga = Enumerable.Empty<int>(); try { fuga = hoge.Select(x => { throw new Exception("こらーーーー!"); return 0; }); } catch (System.Exception) { Console.WriteLine("ほげーーーーー!"); } try { fuga.Any(); } catch (System.Exception) { Console.WriteLine("うほーーーーー!"); } Console.ReadLine(); }
        private static void Main()
        {
            var hoge = new List<int> { 1 };

            var fuga = Enumerable.Empty<int>();
            try
            {
                fuga = hoge.Select(x =>
                {
                    throw new Exception("こらーーーー!");
                    return 0;
                });
            }
            catch (System.Exception)
            {
                Console.WriteLine("ほげーーーーー!");
            }

            try
            {
                fuga.Any();
            }
            catch (System.Exception)
            {
                Console.WriteLine("うほーーーーー!");
            }

            Console.ReadLine();
        }

このコードでは うほーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー! が出力されるのですね。

◆解説

try-catchの動きの話です。

【C#】LINQの使い方のはなし

オラァ!(挨拶)

世間にある「LINQ入門」が解り辛くて仕方がない。アホどもが。
クソを読まされる初心者の気持ちにもなってみろゴミクズ。

この記事はニュービー、中級者、あるいはなんちゃって上級者を対象としている。

そして、この記事はあきれて物も言えなくなるほど長い。分けてもいいんだけど、なんとなくストーリー性があるから切らないで一本糞垂れ流す。どこまで読んだか分からなくなったら最初っから読み直せ。

※玄人へのおことわり※
いろいろ端折ってるんだからオメーこまけぇ話しにいちいち突っ込むんじゃねぇよ暇人が。シバきまわすぞ。

じゃあ行くぜ

Powered by WordPress & Theme by Anders Norén