Advertisement
Guest User

Untitled

a guest
Mar 27th, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.13 KB | None | 0 0
  1. using System;
  2. using System.IO;
  3. using System.Reactive.Disposables;
  4. using System.Reactive.Linq;
  5.  
  6. namespace ConsoleApplication8
  7. {
  8. internal class Program
  9. {
  10. private static IObservable<string> GetFiles(string folder, string filePattern)
  11. {
  12. return Observable.Create<string>(
  13. o =>
  14. {
  15. var files = Directory.GetFiles(folder, filePattern);
  16.  
  17. foreach (var file in files)
  18. {
  19. o.OnNext(file);
  20. }
  21.  
  22. var folders = Directory.GetDirectories(folder);
  23.  
  24. foreach (var f in folders)
  25. {
  26. var x = GetFiles(f, filePattern);
  27. x.Subscribe(p => { o.OnNext(p); });
  28. }
  29.  
  30. o.OnCompleted();
  31.  
  32. return Disposable.Empty;
  33. });
  34. }
  35.  
  36. private static void Main(string[] args)
  37. {
  38. var o = GetFiles(@"d:temp", "*.*");
  39.  
  40. o.Subscribe(p => { Console.WriteLine(p); });
  41.  
  42. Console.Read();
  43. }
  44. }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement