
CSharp
文章平均质量分 62
窗户纸
一捅就破
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BindingList 看起来很美
最近有同事迷上了使用BindingList开发应用,看上去用BindingList绑定datagridview很是省事,只要如下即可: BindingList x = new BindingList(); .... datagridivew1.datasource = x; datagridiew1.columns["name'].DataPropertyName = "Name"; ... T = datagridview1.selectedrows[0].boundIt原创 2011-01-18 22:54:00 · 4423 阅读 · 4 评论 -
有关对耗时很大循环进行并行化优化的探讨之三:并行线程越多运行就会越快吗?
在.net framework4.0以后,出现了并行编程的概念,使用 Parallel.For(0, N, i =>{ ... },很容易就可以实现我们自定义的并行化循环操作,在并行循环体中,还可以操作外部的变量,这个特性是很多其他语言所没有的,当然其他语言,诸如JAVA之类,完全可以采用我们在第二篇所介绍的方法自己生成并行化操作。 由于.net framework使用环境的局限性,以原创 2012-04-11 13:05:56 · 3502 阅读 · 1 评论 -
有关对耗时很大循环进行并行化优化的探讨 之一:并发搜索的处理
在对程序优化过程中,我们往往对循环体有着刻骨的仇恨,因为它对性能的损耗尤其之大,比如如下例程,是个简单的循环例程,全部执行需要30秒以上(痛苦): public enum HandleRst { 完成, 错误_手术刀忘肚子里了, 失败_药物过敏, 失败_家属不签字, } public cla原创 2012-03-09 13:57:41 · 4318 阅读 · 2 评论 -
有关对耗时很大循环进行并行化优化的探讨之二:多重循环任务的并发处理
【引】 在上一篇有关并行化的《有关对耗时很大循环进行并行化优化的探讨 之一:并发搜索的处理》博文中,我们看到,不使用并行语言,而使用基本的编程语言配合多线程可以进行并行化处理,本文进一步将并行化操作进行一个简单封装,并开始完成一个并行化的数据操作,以供大家参考。 【多重循环的操作】 有很多方法可以实现并行查询,必须并行化Linq就是很不错的途径,相比linq to entity,真正实原创 2012-04-02 21:05:08 · 3940 阅读 · 0 评论 -
如何从底层的datatable更新上层的datagridview
使用微软 SQL SERVER MANAGEMENT Studio的人都经常发现,他打开表显示数据的速度很快,而且,如果有数万条记录不能立即显示时,数据表格会自动的加载数据,而不影响整个界面的操作,那么这个效果是如何完成的呢? 肯定的一点是,他用到了多线程,数据的提取线程和界面操作不在一个线程中,这样就可以做到数据随提取,随时送到界面的表格控件中。 实现的方式就不废话了,给个代码,原创 2012-02-26 21:39:34 · 1958 阅读 · 1 评论 -
为什么要对字段封装属性
为什么要对字段封装属性? 每次有新人来,都要问这个问题,我直接对字段操作多省事呀,就像这样 public class A { public string _Name; } public Class B { private A _MyA; public void DoB(string n) {原创 2011-12-09 19:05:37 · 1309 阅读 · 0 评论 -
工作流系统的硬伤- 修改有数据的表单限制及解决方式分析
<br />最近客户部署了某著名公司的工作流软件,我也顺便研究了一下,发现了一些问题。<br />目前的工作流系统,从结构体系看都是相似的,主要包括:<br /> - 工作流引擎<br /> - 图形化的流程设计器<br /> - 表单设计器<br /> 如果从企业数据角度来看,我们分析一下各个组件的含义<br /> 工作流引擎当然是处理具体的业务数据(或叫流程实例)的节点状态流转,保存的是节点状态数据<br /> 表单当然保存了业务数据,由于不同流转步骤需要的数据不同,表单里面也存在着非常多的脚原创 2011-04-13 18:16:00 · 1296 阅读 · 6 评论 -
在Datagridview控件利用下拉菜单进行枚举数据输入
在Datagridview控件利用下拉菜单进行数据输入可以使用户操作更加方便,在配置COMBOX控件时,只要设置了datasource, displaymember,valuemember,即可实现comboxbox的数据输入,如: 有一个类如下: public class Class1 { string _Name; public string Name { get { return _Name; } se原创 2011-03-05 19:00:00 · 3905 阅读 · 0 评论 -
探寻Remoting和WCF以外的远程对象编程的新途径
在现代的编程技术中,客户端以对象的方式调用服务器上的数据及处理方法,可以大幅的简化分布式系统的开发难度,在.net世界中,人们在此广泛使用了Remoting技术,目前微软也在大力的推广其WCF技术,但这两种技术也存在着一定的先天缺陷。虽然WCF号称速度快过Remoting,但是底下的众多程序员却不太认同,其底层采用XML的通信机制决定其难以超越Binary方式传输的方式。 而Remoting也有他的一些问题,其断线重连似乎总是不太稳定,而如果想利用Remoting进行跨越多服务器的远程对象处理,Remot原创 2011-01-20 21:47:00 · 1205 阅读 · 0 评论 -
使用自己开发的ORM数据层的好处
<br />使用了对象映射转换层确实可以大幅简化开发工作,但最近研究了各家数据层的有缺点后,我发现自己开发数据层可能更划算些:<br />1. 向Hibernate等著名ORM产品号称缓存的命中率达90%以上,但如果应用时分布到多台服务器上,甚至是客户端时,其缓存命中率会差得一塌糊涂, 于是乎大家都在说建立在其上建立应用缓存,但应用缓存会带来脏读、冲突等诸多问题。而自己编制数据层就可有选择的处理缓存问题,显著提高效率。<br />2. 面向对象编程一个很突出的特点就是其支持继承,而继承的实现在数据库设计中有原创 2011-01-18 23:36:00 · 1739 阅读 · 3 评论 -
面向对象的编号-避免变量命名发生混淆的途径
软件开发项目具有风险大,周期长的特点,由于行业的复杂性,对于很多开发小组,人员的更替是十分频繁 的,而软件开发项目的特点又恰恰是需要统一定义的信息非常多,包括组件名、对象名、变量名、界面、版本 号、配置文件、功能清单等等,而人员的更替往往带来的结果是是新成员需要长时间的适应项目规范、定义等 ,而由于定义混淆而造成的编码错误占软件开发错误很大比重,因此,软件项目组如果能有一个很好的规范定 义原创 2011-01-23 10:08:00 · 795 阅读 · 0 评论