nssm是一个轻量级服务封装程序,它可以将普通exe或bat程序封装成windows服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且...
c#中Lazy延迟初始化也称为按需加载,是我们在写程序时经常会遇到的情形。例如创建某一对象时需要花费很大的开销,而这一对象在系统的运行过程中不一定会用到,这时就可以使用Lazy延迟初始化,在第一...
在C#中所谓泛型其实就是一个不确定的数据类型,可以用在类或方法上;泛型在声明期间无需指定具体数据类型。在编译器编译完成之后会生成一个占位符,当调用者在调用时传入指定的数据类型才会将占位符替换掉。...
String在C#中其实是不可变的,每次操作字符串变量增加或减少时,都会重新分配内存。试想一下,如果创建一个循环10000次的字符串加减操作,每次循环都将一个字符连接到字符串,这样内存中就会有1...
在c#中实现委托的方式有很多种,除了使用delegate关键字和Delegate对象定义委托以外,还可以使用 Action 和 Func泛型委托。 Action泛型委托表示引用一个 void返回...
Dictionary字典在C#中至关重要日常开发用的也很频繁,它是以键值对key、value的形式存值,和哈希表比较像,是一种无序的结构。我们在使用Dictionary时必须先using引用命名...
在日常开发过程中,c#调用本地摄像头由很多种方式可以实现,今天我们就来讲一下如何通过Aforge图像处理库来调用本地摄像头并实现抓拍功能。首先,我们新建一个空白的Winform程序,在Nuget...
HtmlAgilityPack是一个基于C#的第三方免费开源的微型html解析类库,主要用于解析html文档。虽然是一个轻量型的html解析类库,但它的功能却不弱,为解析DOM已经提供了足够强大...
DllImport是System.Runtime.InteropServices命名空间下的一个属性类,它的功能是从非托管DLL中暴露函数名称、调用参数、返回结果等必要调用信息,通常用于C#调用...
在多线程开发过程中,有时候需要更新UI控件内容,但是在c#多线程Task、Thread、BackgroundWork中不能直接更新UI控件,否则会报调用线程不能访问此对象,因为它由另一个线程拥有...
checke关键字是c#中用于对整型类型算术运算和转换显式启用溢出检查,checked运算符在检测到数值溢出时抛出一个OverflowException异常,且checked运算符可以用于++,...