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

わんくま同盟

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

C# と VB.NET の入門サイト

■88609 / 8階層)  フォルダ名とその更新日時を一緒に収得
□投稿者/ Hongliang (696回)-(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には渡せません。
編集キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[7]: フォルダ名とその更新日時を一緒に収得 /なつ →Re[9]: フォルダ名とその更新日時を一緒に収得 /なつ
 
上記関連ツリー

フォルダ名とその更新日時を一緒に収得 / なつ (18/09/08(Sat) 17:52) #88574
Re[1]: フォルダ名とその更新日時を一緒に収得 / Hongliang (18/09/08(Sat) 21:42) #88582
  └ Re[2]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/09(Sun) 08:19) #88585
    └ Re[3]: フォルダ名とその更新日時を一緒に収得 / Jitta (18/09/09(Sun) 08:45) #88586
      └ Re[4]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/10(Mon) 00:16) #88597
        └ Re[5]: フォルダ名とその更新日時を一緒に収得 / 魔界の仮面弁士 (18/09/10(Mon) 03:48) #88598
          ├ Re[6]: フォルダ名とその更新日時を一緒に収得 / 魔界の仮面弁士 (18/09/10(Mon) 10:19) #88600
          │└ Re[7]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/10(Mon) 19:50) #88608
          │  ├ フォルダ名とその更新日時を一緒に収得 / Hongliang (18/09/10(Mon) 20:27) #88609 ←Now
          │  │└ Re[9]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/12(Wed) 21:18) #88641 解決済み
          │  ├ Re[8]: フォルダ名とその更新日時を一緒に収得 / Jitta (18/09/10(Mon) 22:12) #88610
          │  │└ Re[9]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/12(Wed) 21:21) #88642 解決済み
          │  └ Re[8]: フォルダ名とその更新日時を一緒に収得 / 魔界の仮面弁士 (18/09/10(Mon) 23:42) #88613
          │    └ Re[9]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/12(Wed) 21:10) #88640 解決済み
          │      └ Re[10]: フォルダ名とその更新日時を一緒に収得 / 魔界の仮面弁士 (18/09/13(Thu) 00:34) #88645 解決済み
          │        └ Re[11]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/13(Thu) 23:23) #88651 解決済み
          └ Re[6]: フォルダ名とその更新日時を一緒に収得 / Jitta (18/09/10(Mon) 10:15) #88599
            └ Re[7]: フォルダ名とその更新日時を一緒に収得 / とっちゃん (18/09/10(Mon) 10:23) #88601
              └ Re[8]: フォルダ名とその更新日時を一緒に収得 / Jitta (18/09/12(Wed) 21:57) #88644 解決済み
                └ Re[9]: フォルダ名とその更新日時を一緒に収得 / なつ (18/09/15(Sat) 10:09) #88653 解決済み

上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信