C# 如何判断系统是32位还是64位
摘要:public static int GetOSBit() { try { string addressWidth = String.Empty; ConnectionOptions mConnOption = new ConnectionOptions(); ManagementScope mMs = new ManagementScope(@"\\localhost", mConnOption); ...
阅读全文
IEnumerable与IEnumerator【转】
摘要:C#中IEnumerable与IEnumerator接口定义了对集合的简单迭代。IEnumerable是一个声明式的接口,声明实现该接口的类是“可迭代(enumerable)”的,但并没有说明如何实现“迭代器(iterator)”。IEnumerator是一个实现式的接口,实现IEnumerator接口的类就是一个迭代器。IEnumerable和IEnumerator通过IEnumerable的GetEnumerator()方法建立了连接,可以通过该方法得到一个迭代器对象。在这个意义上,可以将GetEnumerator()看作IEnumerator的工厂方法也未尝不可。一般,我们将迭代器作为内
阅读全文
C# BackgroundWorker的使用
摘要:BackgroundWorker可以用于启动后台线程。主要的事件及参数: 1.DoWork——当执行BackgroundWorker.RunWorkerAsync方法时会触发该事件,并且传递DoWorkEventArgs参数; 2.RunWorkerCompleted——异步操作完成或中途终止会触发该事件。如果需要提前终止执行后台操作,可以调用BackgroundWorker.CancelAsync方法。在处理DoWork事件的函数中检测BackgroundWorker.CancellationPending属性是否为true,如果是true,则表示用户已经取消了异步调用,同时将DoWor..
阅读全文