雑記 - otherwise

最近はDQ10しかやっていないダメ技術者がちまちまと綴る雑記帳

ToList したワケ

指摘されたので、一応言い訳がましいコメントを。
伊藤さんが書かれている話は知っていますし、私も IEnumerable なオブジェクトに対してメソッドチェーンを使う際にいちいち ToList() はしないです。(遅延評価が崩れる問題もあるし、効率も悪いので)
今回、 string に対して ToList() したいきさつは、

  1. テキストエディタでコードを書いてコマンドラインからコンパイル (csc.exe) していた
  2. 最初、「 using System.Linq; 」をしていなかったので、「 string.Where() 」が書けなかった
  3. 「 string → List をすりゃいいじゃん」と思って ToList() した( Array.ToList() を使った)
  4. 結局「 List.Where 」するにも「 using System.Linq; 」が必要なことに気づいて追加した
  5. 結果的に「 IEnumerable.ToList() 」が呼ばれる構文になった

……と、こんな感じだった訳です。むぅ。。。