からだのブログ

五体満足に生まれてきたことに感謝してブログの名前を「からだ」にしました。

からだのブログ header image 2

道具の変化と脳汁放出ライフ

1月 12th, 2008 · No Comments · .net, language, tek

道具の進化でライフスタイルが変化するってのはよくあるけどさ。最近感じてること。

VisualStudio2005 以降、っていうか2008でさらになんだけど、個人的に「とりあえず書いて動かしてみる」っていう傾向がさらに強くなったよ。

インタプリタ言語的にデバッグが簡単になって、つーか、そこいらのインタプリタ言語よりもデバッグしやすくて、泣けてくる。動いてる途中でブレークして、オブジェクトの中身覗いたり、場合によっては書き換えて、また実行。嬉しすぎる。それから、時間がクソみたいにかかる処理させてる途中で、「しまった、前処理のデータ(たとえば、Name っていう get プロパティを持ってる型のコレクションのインスタンス sourceData)をダンプしておけばよかった。」とか思ったとしたら、

File.WriteAllLines(“dump.txt”, sourceData.Select((data) => data.Name).ToArray());

とかイミディエイトウィンドウに叩きこめば、あっという間にダンプ完了。ちなみにこのコードでは、 sourceData に入っている要素から、それぞれの Name の値を取り出して、配列(Array)にしたものをファイルの1行1行としてみなして、dump.txt ってファイルに WriteAllLines している。「見慣れたコード」だったら、

using(StreamWriter sw = new StreamWriter(“dump.txt”)) {
    foreach(Hoge data in sourceData) {
        sw.WriteLine(data.Name);
    }
}

あたりになるだろうか。見比べて何がすごいって、上のバージョンには 型名が入ってない(「static メソッドを特定するため」の File は除いて)。こいつはタイプ量の問題だけじゃあなくて、実はかなりすごいというか、これを「C言語ファミリ」と言っていいのだろうか、というような話があるわけだが、そんなんしてる場合じゃないので、とりあえずググレw キーワードは Linq

Tags: