Written By: 川俣 晶
kkamegawaさんの.NET Framework 4.0のBCLより。
File System Enumerationは配列ベースの従来のSystem.IO.FileとかSystem.IO.DirectoryにIEnumerable<T>をつけてみようかって話。LINQと併用するとき便利なこともあるしねってことだそうで。
これは重要です。その理由はファイルが1万個ぐらいあるフォルダに対して、GetFilesメソッドを使ってみると分かるのではないかな? 呼ぶとプログラムの実行がかなり長時間止まってしまいます。Win32 APIなら、「最初の1つくれ」「次くれ」「次くれ」……という流れなので、制御はすぐ戻ってきますが、GetFilesメソッドは全部揃うまで戻ってきません。
この特徴はLINQとの相性が最悪です。たとえば、Anyメソッドのように全てのデータをチェックせずとも結果が確定するクエリは、確定した時点で動作を打ち切るわけですが、GetFilesメソッドは調べる必要のないファイル名までリストを作ってしまいます。
……ということが実は気になっていたので、列挙インターフェースが付くのは納得です。
(デフォでRDBにデータを投げ込んで、生ファイルをあまり使わない人には分かりにくい話かもしれません)
id:kkamegawa:20081106:p1の続き id:NyaRuRu wrote: >プロセス内で異なるバージョンのCLRがロードできるようになるのはうれしいなぁ。 >.NET Framework 1.1とか特に…(まだ使うことがあるのです) In Process Side-by-Side ですが,確か CLR 1.x 世代はサポート外っ 続きを読む
[メッセージ送信フォームを利用する]
メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。
この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。
管理者: 川俣 晶
Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.