プロが教えるわが家の防犯対策術!

VB.NETで
「指定されたフォルダのファイルと、そのサブフォルダにあるファイルとフォルダの一覧を取得する」というロジックを組んでいます。
サブフォルダはあればあるだけしたまで取得していくように再帰的になっています。

そのフォルダのファイルを取得するのに
Dim s() as string
s=System.IO.Directory.GetFiles("C:\")
としているのですが、その時にファイルの数に制限がついてしまうのでしょうか?
例えば、配列要素数に限界があるとか、Directory.GetFiles自体の取得できる数に限界があるとか・・・

あるとすれば、配列要素の最大数の限界と、マシン自体のメモリの問題(?)が思いつくのですが。

ご存じの方がいらっしゃったら、お願いします。

A 回答 (1件)

配列に関しては、メモリや添え字に利用できる数値(32bit?64bit?PCが整数として扱える限界)の範囲までは使えると思いますよ。


http://www.microsoft.com/japan/msdn/library/defa …

http://www.microsoft.com/japan/msdn/library/defa …
を見る限りは・・ですけど・・

メモリに関しては、ガーベージコレクションになってるんでしたっけ?.Netは・・。

もし、取得できないような状況になたら、何らかのエラーが返されるはずですよね。バグや予期せぬエラーでなければ・・。
    • good
    • 0
この回答へのお礼

お返事送れて申し訳有りあません。
.NET、一応はガーベージコレクションをやってくれるようですが・・・イマイチ信用しきれてません(^^;

とりあえず5万3千くらいのファイルは取り扱ってくれました。これ以上は怖くてテストしていません。

お礼日時:2003/06/15 22:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!