All Posts in 2011.11


C#数据结构之顺序栈

继续发很久以前的那个系列。。。今天是顺序栈。。 接口如下: public interface IStack<T> { void Clear(); void Push(T item); T Pop(); T GetTop(); } SqStack类: public class SqStack<T> : IStack<T> { private int _Maxsize; private T[] _Data; private int _Top; public T this[int index] { get { return _Data[index]; } …


LINQ to XML CRUD,并且封装为DAL方法

LINQ非常牛逼,操作数据库和集合对象非常方便,已经得到了非常广泛的应用。好处我不多说了。今天来给大家看看LINQ对XML的增删改查操作,并且封装为DAL类,方便在多层结构的应用程序中使用。以我网站的友情链接模块为例: XML文件的结构如下: 1 XNA Develop http://www.xnadevelop.com/ 1 2 BlogNT 开源.NET博客 http://www.blognt.com/ 2  和以往写ORM一样,我们首先要把对数据的描述抽象为model: public sealed class FriendLink { private int _id; private string _title; …


几种常用的代码重构手法

最近看了Martin Fowler的著作《Refactoring: Improving the Design of Existing Code》收获颇大。书上的例子都是Java写的,其实我们同样可以运用在其他语言中,现在做.NET开发的话,用的最多的就是Visual Studio,它自带的重构功能可以很方便的整理代码。 重构的好处不多叙述了,大家都明白。书上论述的非常详细,我挑选几种最常用的重构方法,并用C#语言做示例,帮助大家了解必要的重构手法。另外,我也会附上一些自己平时在编程中常用的重构片段,但未必是100%正确或最好的。 1.Extract Method (提取函数) 样例代码: public void PrintOwing(double amount) { PrintBanner(); // print details Console.WriteLine(" …


兼容IE和Firefox的复制地址栏函数

网上找到的,经测试有效。IE9,Firefox8下没问题。 /* *Ie && Firefox CopyToClipBoard * */ function copyToClipBoard() { var txt = window.location.toString(); //txt += document.title; if(window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text",txt); }else if(navigator.userAgent.indexOf("Opera") != -1) { window.location = …