摘要: 提到四舍五入,处在我们这个年龄层的人应该都很清楚,因为我们当时的小学教育灌输的就是四舍五入。但是如果提到银行家舍入,也许很多朋友会一下子愣住。银行家舍入,英文名为Banker's round,它实现的舍入效果是“四舍六入五取偶”。银行家舍入是IEEE规定的小数舍入标准之一,也是IEEE目前规定中最优 阅读全文
posted @ 2016-10-13 16:05 牧马 阅读(1447) 评论(0) 推荐(0) 编辑
摘要: 问题场景:在客户那碰到一个操作卡死的现象 问题解决: 1、如何挂钩是死锁问题:通过代码跟踪,发现是指执行一个SQL语句超时,因此猜想可能是表锁住了 2、如果确认是思索问题:通过SQL发现死锁,以下是相关的SQL select request_session_id SPID,OBJECT_NAME(r 阅读全文
posted @ 2016-06-12 21:00 牧马 阅读(6297) 评论(0) 推荐(0) 编辑
摘要: 1、windbg是一个用于调试代码的工具,基础介绍:http://www.pediy.com/kssd/pediy10/94457.html 2、关于windbg和vs在代码调试方面的区别,参考:http://www.cnblogs.com/pugang/archive/2012/06/24/255 阅读全文
posted @ 2016-06-04 16:22 牧马 阅读(207) 评论(0) 推荐(0) 编辑
摘要: Step1: Step2: 阅读全文
posted @ 2016-04-06 20:21 牧马 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 问题描述工作中碰到一个dt.Compute("max(lineid)","")来取最大行号的情况,由于dt中数据大概有4000条,发现每次调用需要0.3秒的耗时,耗时太长解决方法 DataView dv = dt.DefaultView; dv.Sort ... 阅读全文
posted @ 2016-01-13 17:03 牧马 阅读(669) 评论(3) 推荐(0) 编辑
摘要: 起因今天下了段代码复制到VS2008中想好好学习下,结果发现每隔一行都有一行空白行(如下图),如果只有几行么手动删下就好了,但是这边估计有几百行,我也不知道VS2008有没有什么支持快速删除空白行的快捷方法,但是我知道的是用万能的正则肯定可以搞定!于是我立马找度娘查正则表目的利用正则删除代码里的空白行思路正则的表达式应该是这样的一个结构: [一行开头][任意个空白字符][换行符]根据正则表一个一个对应后的值就是: ^:b*\n其中 ^ 代表一行的开始 :b 代表一个空白字符 * 代表任意个,而 :b* 就代表了任意个空白字符 \n 代表换行符步骤1、ctrl+H调出快速替换窗口... 阅读全文
posted @ 2014-04-01 14:27 牧马 阅读(1183) 评论(0) 推荐(1) 编辑
摘要: 步骤一:先下载微软的工具ilmerge.exe 地址:http://www.microsoft.com/en-us/download/details.aspx?id=17630步骤二:安装好之后 开始→ 运行 → cmd →D:\Program\Microsoft\ILMerge\ILMerge.exe /target:library /targetplatform:v4 /out:"D:\dlls\classC.dll" "D:\dlls\classB.dll" "D:\dlls\classA.dll"其中D:\Program\Mi 阅读全文
posted @ 2014-03-26 17:04 牧马 阅读(2712) 评论(0) 推荐(0) 编辑
摘要: 前言以前看别人的控件好看只有羡慕的份;以前觉得控件重绘是个很复杂的东西;以前知道MSDN很全面很专业却一直没有好好用起来;作为初级程序猿,不能原地踏步,来吧,让我们一起把 TreeView 美化一下,每天进步一点点!要点1、WinForm自定义控件2、重绘3、MSDN使用基础准备:利用MSDN查找我们需要的资料1、进入MSDN技术资料库:http://msdn.microsoft.com/library2、在右上角搜索栏里输入 TreeView3、找到TreeView类(System.Windows.Forms)这一条【应该是搜索结果里的第二条】,里面详尽的介绍了这个类这里直接附上地址:htt 阅读全文
posted @ 2014-03-25 13:06 牧马 阅读(2912) 评论(2) 推荐(3) 编辑
摘要: 1、如下代码,对DataGridView 的cell赋值不会出现线程访问问题,为什么呢? public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Thread t = new Thread(new ThreadStart(() => { //dataGridVie... 阅读全文
posted @ 2014-03-24 01:00 牧马 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 概述如果希望一个类在运行时只存在一个实例,并提供统一的访问入口,那么使用单例模式是最好的解决方案。优点1、实例控制:单例模式提供唯一访问入口,确保其它对象不会获得单例对象其它副本。2、灵活性:唯一访问入口让单例类的实现易于控制。缺点1、开销:每次获取实例对象都需要判断是否存在该类的实例,仍需要一些开销。可用静态初始化解决此问题。2、可能的开发混淆:初次使用该类的程序员,可能会造成无法使用new实例化此类的困惑。3、无法删除实例:由于单例类自身包含实例的私有引用,在.NET中只有单例类才能够导致该实例被取消分配。模型实现//1、简单实现public sealed class Singleton{ 阅读全文
posted @ 2014-03-24 00:48 牧马 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 有个年轻人,抓了一只老鼠,卖给药铺,他得到了一枚铜币。他走过花园,听花匠们说口渴,他又有了想法。他用这枚铜币买了一点糖浆,和着水送给花匠们喝。花匠们喝了水,便一人送他一束花。他到集市卖掉这些花,得到了八个铜币。一天,风雨交加,果园里到处都是被狂风吹落的枯枝败叶。年轻人对园丁说:“如果这些断枝落叶送给我,我愿意把果园打扫干净。”园丁很高兴:“可以,你都拿去吧!”年轻人用八个铜币买了一些糖果,分给一群玩耍的小孩,小孩们帮他把所有的残枝败叶捡拾一空。年轻人又去找皇家厨工说有一堆柴想卖给他们,厨工付了16个铜币买走了这堆柴火。年轻人用16个铜币谋起了生计,他在离城不远的地方摆了个茶水摊,因为附近有50 阅读全文
posted @ 2014-03-23 23:08 牧马 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 今天决定将自己的博客美化下,看到 twobin的博客的博文:twobin博客样式—“蓝白之风”感觉非常好看,于是决定仿照他的方案进行修改,过程记录如下:步骤一:进入博客→管理→设置 找到 "博客模板" 选择模板LessIsMore 作为博客的初始模板 步骤二:取消禁用默认CSS项 步骤三:找到 "页首HTML代码" 添加代码如下,当然把代码中和自己博客相关的地址和用语替换掉。步骤四:找到 "页面定制CSS" 根据twobin博客样式—“蓝白之风”中介绍的CSS代码发现大体框架的样式有了,但是有很多细节没有达到效果,经过调试和修改,最终 阅读全文
posted @ 2014-03-20 10:05 牧马 阅读(323) 评论(2) 推荐(0) 编辑
摘要: public delegate void DownloadProgressChangedEventHandle(string information, long currentprogress, long totalprogress, string filename); public delegate void DownloadFileCompletedEventHandle(string information, bool success, string filename); public delegate void UploadProgressChangedEventH... 阅读全文
posted @ 2014-03-19 22:03 牧马 阅读(1794) 评论(0) 推荐(0) 编辑
摘要: 1、首先我们要实现如下图的效果: a、主线程A运行方法段1时创建子线程B b、然后子线程B执行方法段2 c、执行完后通知主线程A执行方法段32、实现代码如下: public Form1() { InitializeComponent(); } public void Method1() { //给主线程取个名字 if (Thread.CurrentThread.Name == n... 阅读全文
posted @ 2014-03-19 18:14 牧马 阅读(1112) 评论(1) 推荐(0) 编辑
摘要: 1、返回值 bool 不应该用来表示函数是否调用成功,而应该返回业务值,例如 IsExist,HasNext 阅读全文
posted @ 2014-03-18 14:03 牧马 阅读(208) 评论(0) 推荐(0) 编辑