C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.88609 の関連記事表示

<< 0 >>
■88609  Re[8]: フォルダ名とその更新日時を一緒に収得
□投稿者/ Hongliang -(2018/09/10(Mon) 20:27:36)
    > Dim x As IEnumerable(Of String) = System.IO.Directory.EnumerateDirectories("C:\Users\○○○\○○○\SONY NNC\SNNC30", "*", System.IO.SearchOption.AllDirectories)
    > Dim y = New System.IO.DirectoryInfo("C:\Users\○○○\○○○\SONY NNC\SNNC30").EnumerateDirectories("*", System.IO.SearchOption.AllDirectories)

    DirectoryInfoを使うのでしたら、Directory.EnumerateDirectories/GetDirectoriesを使用する意味はありません(それこそ「同時」でなくなってしまします)。
    yに含まれる個々のDirectoryInfoオブジェクトが、ディレクトリのパスや更新日時を含んでいます。
    対象が自分の制御下にあるディレクトリで全部のディレクトリを取得する処理のコストを計算でき、読み取ったのを全部ListBoxに突っ込むような処理であれば、EnumerateDirectoriesよりもGetDirectoriesの方が配列で返されるので楽かもしれません。

    > ただ疑問なのは、x は 同じString でありながらも、何故か ListBox1.Items.AddRange(x) とは出来ないのかです。
    ListBox::ItemsはListBox.ObjectCollection型です。
    https://msdn.microsoft.com/ja-jp/library/system.windows.forms.listbox.items(v=vs.100).aspx
    そしてListBox.ObjectCollectionクラスのAddRangeメソッドが取れる引数はObject配列型またはListBox.ObjectCollection型のみです。
    https://msdn.microsoft.com/ja-jp/library/z018s5az(v=vs.100).aspx
    https://msdn.microsoft.com/ja-jp/library/39cdcdw5(v=vs.100).aspx
    String配列はObject配列として扱えるというやや特殊なルールがあるので、String配列は直接AddRangeに渡せますが、IEnumerable(Of String)はObject配列として扱えないのでAddRangeには渡せません。
記事No.88574 のレス /過去ログ152より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -