文章出處
文章列表
對于一個文件夾的改變,C#這邊有自己的類來實現,我們不需要關心它的內部實現機制,不需要關心它底層調用哪些API,我們只需要關心如何去調用它,如何讓它幫助我們記錄文件夾的修改情況即可。
#region 監視文件夾的變化 FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = "f:\\"; watcher.NotifyFilter =//被監控的方面 NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; // 訂閱一些事件,當它被觸發時(.net(windows)底層觸發它,我們不用管),執行我們的方法 watcher.Changed += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已經被修改,修改類型{1}", e.FullPath, e.ChangeType.ToString()); }; watcher.Created += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}被建立", e.FullPath); }; watcher.Deleted += (object source, FileSystemEventArgs e) => { Console.WriteLine("文件{0}已經被刪除", e.FullPath); }; watcher.Renamed += (object source, RenamedEventArgs e) => { Console.WriteLine("文件{0}的名稱已經從{1}變成了{2}", e.OldFullPath, e.OldName, e.Name); }; // 為true表示開啟FileSystemWatcher組件,反之我們的監控將不啟作用 watcher.EnableRaisingEvents = true; #endregion
另外,告訴大家一個 xor異或運算的使用技巧,就是它可以在不引入第三個變量的情況下,交替兩個變量的值,你的變量可以是數值,也可以是字符,如果是字符,我們需要使用它的hashcode值進行xor運算。
#region xor兩個變量交換
int a = 2;
int b = 3;
Console.WriteLine("a={0}", a);
Console.WriteLine("b={0}", b);
a = a ^ b ^ (b = a);
Console.WriteLine("a={0}", a);
Console.WriteLine("b={0}", b);
#endregion
結果如圖:
文章列表
全站熱搜