C#
摘要: 今天遇到了一个编码问题,很有意思如果T1,T2,T3都有相同的属性,而且处理这些属性的逻辑都一样,但他们之间没有关系,该怎么办?答案如下:namespace ConsoleApplication2 { public class T1 { public string Name { get; set; } public int Count { get; set; } } public class T2 { public string Name { get; set; } public int Count { get; set; } } public class T3...阅读全文
摘要: 数据绑定,databind()是多么亲切的方法,我们每天很不能敲上几百遍。但是你有木有想过他是如何实现的?有木有!!!(咆哮体:)今天,我们拿Repeater来说说DataBind那些事儿。如果朋友你有看过我写的模版引擎里Label的初级应用的话,我在最后贴了一个List的Label的实现,其中有点意思的就是模仿Repeater。不过看没看过无所谓的。今天我们看看微软人家正儿八经的Repeater。 一般控件的绑定我们都是在Page_Load事件方法里这么写 if(!IsPostBack) { BindList(); } 而BindList方法就是我们绑定控件用的方法,独立出来的目的是可能多.阅读全文
摘要: 我们搞程序的多多少少都了解点算法。总体来讲,算法是什么?算法就是“时间”和“空间”的互换策略。我们常常考究一个算法的时间复杂度或空间复杂度,如果我们有绝对足够的时间或空间,那么算法就不需要了,可惜这种条件是不存在的,只是在某些情况下相对来说我们不用去考虑其中一个。今天我们讨论的“缓存”,自然就是“用空间换时间”的算法。 缓存就是把一些数据暂时存放于某些地方,可能是内存,也有可能硬盘。总之,目的就...阅读全文
摘要: 这是一个固定长度的双向链表,没有闭合,当然是起初没写成闭合的。怎么缓存的呢? 就是比如 长度是3000,你缓存一篇文章 就放进去一个, 如果你从里面获取一个A,则A被提到链表的头部,再放入一个B,则B在头部,其他的就会靠后排。如果缓存的数量超过的3000,再缓存新的时候会踢掉尾部的那个。因为那个用的次数很少。public class CacheList<T> where T : class { public class Item { public string Key { get; set; } public T Value { get; set; } public Item Le阅读全文
摘要: 写博文写教程性质的内容,大家比较喜欢,具体的项目设计方案关注的人比较少,而且思路也不一定说的清楚,本身写博文就比较辛苦,作者再偷点懒,那基本上就是一篇废文。尽管如此,我还是想写一下我做过的一个项目的模块设计——CMS的模版引擎。呵呵,叫成“引擎”就是夺人眼球而已。其实就是一个标签解释的过程模块。 做过网站的朋友都对CMS很熟悉,有的朋友也接触过N多CMS系统,国内比较流行的有dedeCMS,phpCMS,帝国CMS,KingCMS,PowerEasyCMS等等,他们都有个共同的特点,就是前台的实现是模版标签机制。标签的好处就是可以让非专业开发人员通过特定的标签实现数据调用。一段标签表示一种数.阅读全文
摘要: 功能比较简单,对自定义类型、List、Array实现了序列化其中包含了(反射创建数组、反射创建泛型、反射填充泛型内容、反射填充数组内容) 其实我写这段话就是为了让你来的。测试代码:[代码]运行结果:阅读全文
摘要: 项目中碰到了静态页文件读写冲突的问题(如果同时存在读写就报黄页,虽然写入是“瞬间”的,但高并发下依然有可能)。写入:读取:ReaderWriterLockHelper.ReadFromResource(10, () => context.Response.WriteFile(url));阅读全文
摘要: /Files/mad/WPFTetris.rar开发思路:1、方块(block)用静态方法记录所有的形状2、整个游戏区域 blockMaster3、游戏UI绘制 Grid布局,然后每格子放入一个label,然后根据block和blockmaster的值来绘制label的背景。方块的实现:1、移动: 移动分为三个方向:左右下。 很简单就是改变block的x y 坐标,然后绘制block所在的labe...阅读全文
摘要: 在CSDN上看到一篇关于文章关键字优化的帖子,其中“路过”的回复提到了几点 值得学习1、不要使用静态方法,而一定要显式的声明Regex对象原因是静态方法会临时创建一个Regex对象,用它来调用请求的方法,然后弃用这个对象。而静态方法每次调用,都必须重新检查正则表达式,所以存在效率缺陷虽然默认情况下,.NET Framework做了缓存处理,但默认只缓存15个正则表达式,尽管...阅读全文
摘要: 重在参与 嘿嘿。。。思路和我的扫雷程序一样, 找到周围的所有的萝卜总数是否在AB之间,这里我没有考虑AB的大小关系。每块地由格子(Cell)组成,每个格子(Cell)有三个属性:地标(X,Y)和萝卜数(Count) 。逻辑很简单,遍历地(Field)里所有的格子(List<Cell>),找到当前格子(CurrentCell)周围的萝卜数是否在AB之间。5930026spend 5428...阅读全文
摘要: 源码下载 usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Text.RegularExp...阅读全文
摘要: 一:把Enum绑定到ListControl类的控件[代码][代码]二、Dictionary的扩展方法[代码]阅读全文