|
介绍
下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"还是一个".mdw"网络共享数据库,这个过程 (2005-09-12,887) [查看全文] 处理周期事件 1、System.WinForms.Timer Timer的Tick事件代码: Interlocked.Increment(ref _count); 2、ThreadPool A.生成WaitOrTimerCallback事例 B.生成一个同步对象 C.添加到线程池 例1: /*RegisterWaitForSingleObject 下面的示例演示了几种线程处理功能。 使用 Register (2005-09-06,1522) [查看全文] .Net框架由于拥有CLR提供的丰富库支持,只需很少的代码即可实现先前使用C等旧式语言很难实现的加密算法。本类实现一些常用机密算法,供参考。其中MD5算法返回Int的ToString字串。返回数字字母型结果的算法参见之前Blog文章。
using System; using System.IO; using System.Data; us (2005-09-06,1670) [查看全文] 同步 实现同步的3种方法: 1、Thread.Join() 2、WaitHandle //使用自动事件 AutoResetEvent asyncOpIsDone = new AutoResetEvent(false); ThreadPool.QueueUserWorkItem(new WaitCallback(MyAsyncOp (2005-09-01,892) [查看全文] 函数如下,有注释,请自行查看:)
注:
1、ReturnMessage 是我自写的一个类,作用请查看我的其他文章,我也把这个类一并附在后面
2、通过NameSpaceAndClassName和MethodName实际上就可以精确定位一个方法了如调用abc.dll里的namespace1.Class1.Main,调用起来就是CallAssembly("abc.dll","namespace1.Class1","Mai (2005-08-31,665) [查看全文] 互斥 1、Monitor.Enter和Monitor.Exit Monitor 类通过向单个线程授予对象锁来控制对对象的访问。对象锁提供限制访问代码块(通常称为临界区)的能力。当一个线程拥有对象的锁时,其他任何线程都不能获取该锁。还可以使用 Monitor 来确保不会允许其他任何线程访问正在由锁的所有者执行的应用程序代码节,除非另一个线程正在使用其他的锁定对象执行该代码。 注意:使用 Monitor 锁定对象(即引用类型)而不是值类型。 Monitor 具有以 (2005-08-23,1674) [查看全文]
.NET 提供的反射(Reflection)机制可以很方便的加载插件。本文提供一种方法,可以灵活的正确的载入所需的插件。
在.NET中,一个完整的类型名称的格式如 "类型名, 程序集名"。 (2005-08-22,612) [查看全文] 线程池 用线程池编写多线程应用一般步骤: 1、编写工作任务:将所有的工作任务泛放在一个符合WaitCallback接口的函数中 public static void MyAsyncOperation(object state) { //... //要完成的工作任务 } 一般通过 (2005-08-17,821) [查看全文] 操作线程 1、操作实例 using System; using System.Threading; namespace AppThreadDemo { class App { static public void threadMethod() { Console.WriteLine("\n执行Threa (2005-08-17,1012) [查看全文] (4)继续优化――用空间换取时间
现在对每一个字符,都要用get_Item(object key)方法过一遍,可这个乖乖方法那么长,肯定太耗时间了,能不能用更简单的手段呢?改Hashtable?哇,那代码,叫一个看不懂。仔细琢磨琢磨,有了,直接用数组!每一个汉字对应一个Int16,以该值为索引,数组中在那个位置的值为值,这样最快速了。就是占点空间,内存便宜嘛。反正这东西只初始化一次,占不了多少k。新程序如下: (2005-08-16,538) [查看全文] 近一段时间测试过几个程序,有一些心得。具体步骤如下:
(1)写出测试程序 (2)测试原程序,记录运行时间,作为优化的基础。要在Release下测试。 (3)检查算法,是不是最有效的算法。尤其是现在内存便宜,看有没有能够用空间换取时间的方法 (4)用Reflector查看类库,看你使用的方法是不是最有效率的方法 (5)对于运行次数多,性能关键的地方,不要直接调用类库。类库是为通用目的设计的,用Reflector可以发现,针对特殊的问题,内库里面有很多冗 (2005-08-16,701) [查看全文] 当我们用System.IO.StreamReader读取包含汉字的txt文件时,经常会读出乱码(StreamWriater写文本文件也
有类似的问题),原因很简单,就是文件的编码(encoding)和StreamReader/Writer的encoding不对应。 为了解决这个问题,我写了一个类,来取得一个文本文件的encoding,这样我们就可以创建对应的 StreamReader和Str (2005-08-09,3014) [查看全文] /// <summary> /// 读取Excel文档 /// </summary> /// <param name="Path">文件名称</param> /// <returns>返回一个数据集</returns> public DataSet ExcelToDS(string Path) { string strConn = "Provider=Microsoft (2005-08-02,4345) [查看全文] 以前在VB中要防止应用程序运行多个实例的方式很简单,判断APP.PrevInstance 就可以了。
来看一下.NET中是如何实现的,主要使用Mutex来实现进程间同步 using System; using System.Threading; using System.Windows.Forms; using System.Runt (2005-07-28,491) [查看全文] |
内容分类
|