Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.IO;
- using System.Reactive.Disposables;
- using System.Reactive.Linq;
- namespace ConsoleApplication8
- {
- internal class Program
- {
- private static IObservable<string> GetFiles(string folder, string filePattern)
- {
- return Observable.Create<string>(
- o =>
- {
- var files = Directory.GetFiles(folder, filePattern);
- foreach (var file in files)
- {
- o.OnNext(file);
- }
- var folders = Directory.GetDirectories(folder);
- foreach (var f in folders)
- {
- var x = GetFiles(f, filePattern);
- x.Subscribe(p => { o.OnNext(p); });
- }
- o.OnCompleted();
- return Disposable.Empty;
- });
- }
- private static void Main(string[] args)
- {
- var o = GetFiles(@"d:temp", "*.*");
- o.Subscribe(p => { Console.WriteLine(p); });
- Console.Read();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement