Silentdoer

导航

2017年1月11日 #

C#Lambda表达式Aggregate的用法及内部运行方式的猜想

摘要: var nums = new int[] { 1, 2, 3, 4, 5 }; // 其和为15 var count = nums.Aggregate((body, next) => { // 注意,nums的元素个数至少一个以上(但如果是有seed的模式,是可以为0个元素的)才能执行Aggregate,但是C#是... 阅读全文

posted @ 2017-01-11 15:27 Silentdoer 阅读(2540) 评论(0) 推荐(0) 编辑

通过C#来开启、关闭、重启Windows服务

摘要: 通过C#开启服务需要这个C#程序有相应权限,比如服务的账户是Local System的就必须以管理员权限运行C#程序才能开启或关闭。 这里只写重启的方式(就是先关闭,后开启): // SecurityOfElecService是服务的名字,即ProjectInstaller中serviceInsta 阅读全文

posted @ 2017-01-11 13:57 Silentdoer 阅读(7671) 评论(0) 推荐(3) 编辑

2017年1月10日 #

MySQL创建一个固定频率执行且自定义"开始"时间的定时任务event

摘要: drop event if exists evt_test;create event evt_teston schedule every 10 SECOND -- 每10秒执行一次(second可以换成day之类的) /* 任务的开始时间(或说MySQL系统认定的本任务开始的时间,哪怕其实那时候还没 阅读全文

posted @ 2017-01-10 11:29 Silentdoer 阅读(4000) 评论(0) 推荐(0) 编辑

2016年12月30日 #

同时只允许Count个线程访问同一块区域的实现方式

摘要: 好吧,后来才发现有Semaphore和SemaphoreSlim这两个类。 以前的答案: 最近.Net项目中用到了网页截图功能,这个截图功能是类似后台开了一个IE浏览器默默加载某个网页然后截取下来保存,因此并发截图量不能太大,但是又不能一个一个的截(因为截图函数里要设置等待网页加载时间,故一个一个截 阅读全文

posted @ 2016-12-30 11:04 Silentdoer 阅读(373) 评论(0) 推荐(0) 编辑

2016年12月13日 #

MySql触发器语法总结

摘要: 经过昨天多次失败,今天终于将我要实现的触发器功能写成功了,触发器代码如下: delimiter $$# 注意这里的关键字是before和insert及on和for each row,# 表示这个触发器的生效场景是在对 tb_student 的 每条 insert 之前 都触发drop trigger 阅读全文

posted @ 2016-12-13 13:12 Silentdoer 阅读(281) 评论(0) 推荐(0) 编辑

2016年11月17日 #

C#创建、设置和安装Windows服务

摘要: 文章大部分内容转自:http://www.cnblogs.com/greatandforever/archive/2008/10/14/1310504.html;和:http://www.cnblogs.com/xujie/p/5695673.html;部分是我自己后来的一些理解添加进去的。 正文: 阅读全文

posted @ 2016-11-17 16:34 Silentdoer 阅读(2291) 评论(0) 推荐(0) 编辑

2015年11月26日 #

Invoke的使用情景

摘要: 直接看代码: 说明都在注释里了。 阅读全文

posted @ 2015-11-26 14:57 Silentdoer 阅读(232) 评论(0) 推荐(0) 编辑

关于控件的Invoke(...)方法和BeginInvoke(...)方法的区别

摘要: 这两个方法最主要的区别就是一个是同步,一个是异步,即会阻塞线程,那么阻塞哪个线程呢?我们用代码来分析(工具是VS2010) 将上面代码运行后(我这个是个窗体,有个label1和button1,且button1有Click事件),首先是MessageBox.Show(...)会阻塞主线程,如果不按掉A 阅读全文

posted @ 2015-11-26 14:44 Silentdoer 阅读(653) 评论(0) 推荐(0) 编辑

2015年8月31日 #

GroupJoin和Join的声明及调用

摘要: 再来看GroupJoin的声明: 阅读全文

posted @ 2015-08-31 17:19 Silentdoer 阅读(596) 评论(0) 推荐(0) 编辑

GroupBy(..)的四种声明方式的理解及调用

摘要: 这里我们以 List<Student> studs作为 source,但是注意,studs中的学生可以是分别属于不同的班级和年级 先看GroupBy的第一种声明: 第二种声明: 第三种声明: 第四种声明: 阅读全文

posted @ 2015-08-31 15:48 Silentdoer 阅读(460) 评论(0) 推荐(0) 编辑