随笔分类 -  C#常用算法

1 2 下一页
自反+递归 实现评论的无限引用
摘要:自反+递归 实现评论的无限引用引言大家每天都在看博客,发表评论,实现一个评论系统也是一名Web开发者的基本要求。虽然评论只是一个很普通的功能,但是实现评论的引用,尤其是无限引用,却有一定的困难。身为“网易工程队”的正规军,同时又作为一名程序开发人员,有必要向大家展示一下“盖楼”的方法。效果预览:http://www.tracefact.net/demo/NestedComment/Default.aspxNOTE:本文使用 基于业务对象(List<Comment>)的筛选 来进行引用列表的搜寻,对数据库仅进行了一次读取。想也应该能想明白:不管是初始评论还是包含引用的评论都属于同一文 阅读全文
posted @ 2012-05-16 17:35 老咸菜 阅读(336) 评论(1) 推荐(0) 编辑
.Net 中的反射(动态创建类型实例) - Part.4
摘要:.Net 中的反射(动态创建类型实例) - Part.4动态创建对象在前面节中,我们先了解了反射,然后利用反射查看了类型信息,并学习了如何创建自定义特性,并利用反射来遍历它。可以说,前面三节,我们学习的都是反射是什么,在接下来的章节中,我们将学习反射可以做什么。在进行更有趣的话题之前,我们先看下如何动态地创建一个对象。我们新建一个Console控制台项目,叫做Reflection4(因为本文是Part4,你也可以起别的名字)。然后,添加一个示范类,本文中将通过对这个示范类的操作来进行说明:public class Calculator { private int x; private int 阅读全文
posted @ 2012-05-16 15:54 老咸菜 阅读(251) 评论(0) 推荐(0) 编辑
.Net 中的反射(反射特性) - Part.3
摘要:.Net 中的反射(反射特性) - Part.3反射特性(Attribute)可能很多人还不了解特性,所以我们先了解一下什么是特性。想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发送给某人:// title: 标题;author:作者;content:内容;receiverId:接受者Idpublic bool SendMsg(string title, string author, string content, int receiverId){ // Do Send Action}我们很快就发现这样将参数一个个罗列到方法的参数列表中扩展性很糟糕,我们最好定义一个Messag 阅读全文
posted @ 2012-05-16 15:53 老咸菜 阅读(149) 评论(0) 推荐(0) 编辑
.Net 中的反射(查看基本类型信息) - Part.2
摘要:.Net 中的反射(查看基本类型信息) - Part.2反射概述 和Type类1.反射的作用简单来说,反射提供这样几个能力:1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata);2、迟绑定(Late- Binding)方法和属性。3、动态创建类型实例(并可以动态调用所创建的实例的方法、字段、属性)。序章中,我们所采用的那个例子,只是反射的一个用途:查看类型成员信息。接下来的几个章节,我们将依次介绍反射所提供的其他能力。2.获取Type对象实例反射的核心是Type类,这个类封装了关于对象的信息,也是进行反射的入口。当你获得了关于类型的Type对象后,就可以根据Type提供的 阅读全文
posted @ 2012-05-16 15:51 老咸菜 阅读(178) 评论(0) 推荐(0) 编辑
.Net 中的反射(序章) - Part.1
摘要:.Net 中的反射(序章) - Part.1引言反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助。反射是一个庞大的话题,牵扯到的知识点也很多,包括程序集、自定义特性、泛型等,想要完全掌握它非常不易。本文仅仅对反射做一个概要介绍,关于它更精深的内容,需要在实践中逐渐掌握。本文将分为下面几个部分介绍.Net中的反射:序章,我将通过一个例子来引出反射,获得对反射的第一印象。反射初步、Type类、反射普通类型。(修改中,近期发布...)反射特性(Attribute)。xxxx (待定)...序章 阅读全文
posted @ 2012-05-16 15:49 老咸菜 阅读(196) 评论(0) 推荐(0) 编辑
快速生成CSS--LESS学习总结
摘要:快速生成CSS--LESS学习总结 对于做一个站,css写起来真的很费时间,不是有多难,而是要在多种浏览器兼容,特别是像我这种用editplus作为工具的人,写css快不到哪里去,偶尔在博客园看到有人介绍LESS,去看了一下,真的很不错,用来生成 css很方便,我说的不是用在项目中,而是用来生成css很快,平常写一些css类似函数吧,用的时候只需要调用生成,很快就可以写好类,非常方便,这个年代,时间,还有比这更宝贵的吗? 使用LESS不需要什么基础,特别是编程人员,使用起来更是得心应手。在使用之前,了解一下注意地方,注释单行用//就可以了,多行用 /* 注释*/,和PHP是一样的,... 阅读全文
posted @ 2012-05-16 09:29 老咸菜 阅读(515) 评论(0) 推荐(0) 编辑
使用分页方式读取超大文件的性能试验
摘要:使用分页方式读取超大文件的性能试验Read extreme large files using pagingby Nobi Conmajia (conmajia@gmail.com)May 15th, 2012我们在编程过程中,经常会和计算机文件读取操作打交道。随着计算机功能和性能的发展,我们需要操作的文件尺寸也是越来越大。在.NET Framework中,我们一般使用FileStream来读取、写入文件流。当文件只有数十kB或者数MB时,一般的文件读取方式如Read()、 ReadAll()等应用起来游刃有余,基本不会感觉到太大的延迟。但当文件越来越大,达到数百MB甚至数GB时,这种延迟将越 阅读全文
posted @ 2012-05-16 09:27 老咸菜 阅读(941) 评论(0) 推荐(0) 编辑
可学习的多人人脸识别程序(基于Emgu CV)
摘要:可学习的多人人脸识别程序(基于Emgu CV)源代码下载(需要安装Emgu CV,安装方法请百度)很多朋友使用Emgu CV遇到CvInvoke()的报错,我找到一种解决方法。把EmguCV目录下bin里面的所有dll复制到C:\WINDOWS\SYSTEM32文件夹下,这样就OK了。如果还不OK,试试把dll复制到程序目录(\Debug)下。我这是玩的帖子,欢迎高手指教,但别说我这没意思。hello world也没意思,每天无数人照写。刚刚学着老外的作品做了一个。嗯,没错,自从有了Emgu CV,模式识别的做法和模式简直成了标准。当然,这给我这样图像处理还给老师很多年的差生来说,是个福音。之 阅读全文
posted @ 2012-05-16 09:26 老咸菜 阅读(704) 评论(0) 推荐(0) 编辑
C#下的openCV(Emgu CV)
摘要:http://blog.csdn.net/gaaranaruto/article/details/6328358 阅读全文
posted @ 2012-05-16 09:24 老咸菜 阅读(334) 评论(0) 推荐(0) 编辑
利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习)
摘要:利用Mono.Cecil动态修改程序集来破解商业组件(仅用于研究学习)Mono.Cecil是一个强大的MSIL的注入工具,利用它可以实现动态创建程序集,也可以实现拦截器横向切入动态方法,甚至还可以修改已有的程序集,并且它支持多个运行时框架上例如:.net2.0/3.5/4.0,以及silverlight程序官方地址:http://www.mono-project.com/Cecil 首先,我先假想有一个这样的商业组件,该组件满足了以下条件:1. 该程序集的代码被混淆过了2. 该程序集被强命名签名过了3. 该程序集的UI界面被加上了版权信息,例如水印等等 这里我引用的是之前写的一篇文章中的用户登 阅读全文
posted @ 2012-05-14 11:39 老咸菜 阅读(366) 评论(0) 推荐(0) 编辑
利用架构实例解析面向对象的封装,多态,继承,接口,泛型
摘要:[扫盲]利用架构实例解析面向对象的封装,多态,继承,接口,泛型刚刚看到园子里有人问这个问题,心血来潮,整理一番,希望对初学oop的有所帮助,同时有理解不对的欢迎指正。1. 架构实例基础准备假设我们做一个简单的小系统,需要的操作为:1.管理用户,对用户进行增、删、改(User表)2.管理角色,对角色进行增、删、改(Role表)3.管理功能,对系统功能进行增、删、改(Fun表)由此可以分析,我们这个小系统需要的表为,User用户表,Role角色表,Fun权限表,还要派生出一张表 角色-权限(RoleFun) 关联表。其中用户表里面有字段存放角色Role的ID。2. 搭建项目基础框架一般情况下,我们 阅读全文
posted @ 2012-05-13 21:34 老咸菜 阅读(574) 评论(0) 推荐(0) 编辑
使用 SailingEase WinForm 框架构建复合式应用程序(插件式应用程序)
摘要:sheng.c 使用 SailingEase WinForm 框架构建复合式应用程序(插件式应用程序)2012-05-13 01:16 by sheng.c, 599 visits, 收藏, 编辑 对于一些较小的项目,具备一定经验的开发人员应该能够设计和构建出便于进行维护和扩展的应用程序。但是,随着功能模块数量(以及开发维护这些部件的人员)的不断增加,对项目实施控制的难度开始呈指数级增长。 SailingEase WinForm 框架为您提供了针对此问题提出的解决方案。在本文中,将对基于SailingEase WinForm 框架的复合应用程序的定义进行解释,并简要说明如何才能构建一个基... 阅读全文
posted @ 2012-05-13 21:01 老咸菜 阅读(354) 评论(0) 推荐(0) 编辑
ConnectionTimeout一定要30秒这么久吗?使用多线程连结数据库并显示连接动画
摘要:ConnectionTimeout一定要30秒这么久吗?使用多线程连结数据库并显示连接动画最近一直在忙于EasyCode.Net代码生成器2.20的升级版的开发工作,前两天又有朋友问我EasyCode连结数据库服务器时,为什么可以5秒内就返回该数据库是否可以连结的信息,而不是像自己写的程序会“假死”一样等待30秒,其实原理很简单:1.SqlConnection在用户名或密码错时,返回错误信息会很快,但如果主机名或IP地址错误,因为网络访问的原因,所以即使设置了ConnectionTimeout也没有效果。2.如果Connection在访问一个不存在的服务器,进度将一直等待Connection. 阅读全文
posted @ 2012-05-06 17:36 老咸菜 阅读(861) 评论(0) 推荐(0) 编辑
单元测试
摘要:http://www.cnblogs.com/yangcaogui/archive/2012/02/06/2337483.html 阅读全文
posted @ 2012-02-10 23:45 老咸菜 阅读(104) 评论(0) 推荐(0) 编辑
C#开发WinForm分页控件
摘要:C#开发WinForm分页控件2011-08-12 16:17:55|分类:C#|标签:winformc#分页控件winformpager|字号订阅闲暇之余,自己动手做了个分页控件,真是受益良多WinFormPager.dll控件下载地址WinFormPager源代码下载地址以下是调用分页控件WinFormPager方法://第一步:指定返回的记录数winFormPager1.RecordCount = 返回记录数;//第二步:在控件的PageChanged事件中执行绑定DataGridView的方法private voidwinFormPager1_PageChanged(){dataGri 阅读全文
posted @ 2011-12-20 22:44 老咸菜 阅读(1318) 评论(0) 推荐(0) 编辑
检测SQL Server连接
摘要:string CONN_STRING_NON_DTC = "server=RL;database=GBGDS;Uid=sa;Pwd=sa " public static bool isConnecting() {SqlConnection conn = new SqlConnection(CONN_STRING_NON_DTC); try { if(Detect(ConfigurationSettings.HL7Config.SqlServerAddress) == false) return false; else { conn.Open(); conn.Close(); 阅读全文
posted @ 2011-12-09 14:07 老咸菜 阅读(211) 评论(0) 推荐(0) 编辑
在C#中利用Keep-Alive处理Socket网络异常断开的方法
摘要:最近我负责一个IM项目的开发,服务端和客户端采用TCP协议连接。服务端采用C#开发,客户端采用Delphi开发。在服务端开发中我碰到了各种各样的网络异常断开现象。在处理这些异常的时候有了一些心得,现在写出来和大家分享一下。那网络异常断开原因主要有那些呢?归纳起来主要有以下两种:1、客户端程序异常。 对于这种情况,我们很好处理,因为客户端程序异常退出会在服务端引发ConnectionReset的Socket异常(就是WinSock2中的10054异常)。只要在服务端处理这个异常就可以了。2、网络链路异常。 如:网线拔出、交换机掉电、客户端机器掉电。当出现这些情况的时候服务端不会出现任何异常。.. 阅读全文
posted @ 2011-12-09 13:41 老咸菜 阅读(315) 评论(0) 推荐(0) 编辑
NET报表工具 EastReport
摘要:http://www.oschina.net/p/eastreportEastreport 是采用C#编写的专门针对net环境开发的报表工具。它有以下一些特点:1. 方便强大的可视化设计工具。您通过简单的托拽和设置就可以制作普通的报表。 2. 报表采用c#开发。完全基于.net 3. 报表的数据源为Dataset方便和您的程序进行集成。(外部程序传dataset给报表,使得报表可以做到数据平台的无关性) 4. 集成图片,条码,图表等报表常用控件。5. 强大的脚本功能。脚本采用C#语言编写。有编译报错机制。通过脚本可以极大的提供报表应用的灵活性。 6. web报表功能支持。7.结构开放灵活方便您 阅读全文
posted @ 2011-12-05 16:16 老咸菜 阅读(697) 评论(0) 推荐(0) 编辑
C#电子地图开发包 SharpMap
摘要:SharpMap是一个基于.net 2.0使用C#开发的Map渲染类库,可以渲染ESRI Shape、PostGIS、MS SQL等格式的GIS数据,通过扩展地图数据Provider,还可以支持其他格式,例如由其他作者开发的 Oracle Spatial provider。SharpMap可应用于桌面和Web程序。授权协议: LGPL开发语言: C#操作系统: Windows收录时间: 2008年11月10日软件首页 软件下载 阅读全文
posted @ 2011-12-05 16:05 老咸菜 阅读(820) 评论(0) 推荐(0) 编辑
GIS控件 MapWindow
摘要:http://www.oschina.net/p/mapwindowhttp://www.mapwindow.org/downloads/MapWindow 是开源免费的GIS控件。MapWindow提供了可定制的应用程序和ocx控件,功能丰富,界面简洁,扩展性好。面向Windows平台,当然,开源的,MPL协议。 阅读全文
posted @ 2011-12-05 16:03 老咸菜 阅读(335) 评论(0) 推荐(0) 编辑

1 2 下一页