随笔分类 -  C#

C# 相关类博文
摘要:上一扁使用动态lambda表达式来将DataTable转换成实体,比直接用反射快了不少。主要是首行转换的时候动态生成了委托。 后面的转换都是直接调用委托,省去了多次用反射带来的性能损失。 今天在对SqlServer返回的流对象 SqlDataReader 进行处理,也采用动态生成Lambda表达式的 阅读全文
posted @ 2017-04-14 22:54 Langu 阅读(1054) 评论(2) 推荐(1)
摘要:因为Linq的查询功能很强大,所以从数据库中拿到的数据为了处理方便,我都会转换成实体集合List<T>。 开始用的是硬编码的方式,好理解,但通用性极低,下面是控件台中的代码: 后来用反射来做这,对实体的属性用反射去赋值,这样就可以对所有的实体通用,且增加属性后不用修改代码。 程序如下: 增加一个扩展 阅读全文
posted @ 2017-04-12 22:43 Langu 阅读(2268) 评论(8) 推荐(14)
摘要:最近在用C#与数据库打交道。开发过程中采用了ORM模型(以前是纯sql玩法,复杂的逻辑用存储过程做)。 为了能通过配置文件动态地查询字段,也就是说需要能这样写: db.AsQuery<T>.Select("字段")//伪代码 通过多方查找终于找到了方案,那就是用动态Lambda表达式树(.net3. 阅读全文
posted @ 2017-04-07 20:13 Langu 阅读(1385) 评论(0) 推荐(1)
摘要:因为MongoDb 跨平台,可以免费使用,读写效率高,集群搭建简单,可以水平扩展等各种因素。 我决定研究一下Mongodb,在查看了相关文档后发现它对C#的支持不错,而且还有现成的C#的驱动, 新版的驱动还支持Linq,因为复杂的查询可以交给Linq去实现。正因为官方的驱动很强大。 刚开始接触时发现 阅读全文
posted @ 2016-12-18 20:29 Langu 阅读(2987) 评论(8) 推荐(3)
摘要:初学者可能会给winform窗体注册事件,也听过事件是基于委托实现的 那么,委托是什么,事件又是什么,委托和事件是什么关系。 个人喜欢做一些比喻,把这些东西想象成某一个模型,这样方便记忆,理解,随着对这个东西的理解更加深入,模型也更加抽象,更加完善。 家里有一些电器(双孔插头)【冰箱:制冷、 电灯: 阅读全文
posted @ 2016-04-27 15:37 Langu 阅读(349) 评论(0) 推荐(0)
摘要:最新玩了一下上学时候玩的游戏,但游戏里面变化太多了,进去后等级就很高,要不停地点击鼠标加技能。所以利用工作中常用的C#调用 API不停地点击鼠标。如图:为方便在基础上修改,我把整个解决方案放到百度云盘。以下为链接:链接: http://pan.baidu.com/s/1o7t80bS 密码: peh... 阅读全文
posted @ 2015-12-30 21:06 Langu 阅读(3472) 评论(5) 推荐(1)
摘要:因为微软的office成本太高了,所以开发项目的时候电脑上没安装office,而是安装了wps。但开发语言用的是C#,所以直接调用微软的office组件是很方便的,但一方面慢,一方面成本高,所以从网上找到了NPOI这个开源的项目。http://npoi.codeplex.com/,引用的dll下载目 阅读全文
posted @ 2015-12-21 16:44 Langu 阅读(970) 评论(3) 推荐(1)
摘要:这几天对突然对委托事件,异步编程产生了兴趣,大量阅读前辈们的代码后自己总结了一下。主要是实现 DataTable的导入导出,当然可以模拟从数据库读取大量数据,这可能需要一定的时间,然后 再把数据导入到xml excel等。做了个小实例模拟了一下。特此帖出来以便日后查阅先上效果图然后贴上代码 1 u... 阅读全文
posted @ 2015-08-13 16:01 Langu 阅读(830) 评论(0) 推荐(1)
摘要:一般情况下winform调用webservice时步骤1添加服务引用---高级----添加web引用------填写url--添加web引用即可完成对webservice的引用让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务。如果需要动态调用WebService,要实现这样的功能:p... 阅读全文
posted @ 2015-07-13 14:38 Langu 阅读(227) 评论(0) 推荐(0)
摘要:最新对C#模拟键盘按键,鼠标操作产生了兴趣。特从网上收集了一些常用的API用来调用键盘,鼠标操作。class Win32API { #region DLL导入 /// /// 用于设置窗口 /// /// ... 阅读全文
posted @ 2015-07-04 17:36 Langu 阅读(927) 评论(0) 推荐(0)
摘要:.net 不允许跨线程个性其它线程创建的控件。要想实现这个功能就需要用InvokeRequired 检查是不是由该线程创建的控件,如果是直接操作,如果不是则 用Invoke 添加一个委托再加上参数传递来实现功能。 阅读全文
posted @ 2015-02-03 18:37 Langu 阅读(239) 评论(0) 推荐(0)