摘要: “算法” - 程序的灵魂! 这两天碰到一个需要处理排序的场景! 我第一印象想到的是"冒泡排序",由于效率不是特别友好基本上弃用,后来选择了有广大好评的快速排序方式,Google了一下,很多朋友都提出了自己的解决方案,大致实现思路都是一样的!我也改写了一份C#的:static ArrayList QuickSort(ArrayList arrayList) {if (arrayList.Count <= 1) return arrayList;int pivotIndex = arrayList.Count / 2;int pivot = (int)arrayList[ 阅读全文
posted @ 2011-07-15 08:09 meifage2 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 相信有很多开发人员都有这样的面试经历:面试官就某个问题对你追着问,不仅问你是什么,还要问你为什么以及它的内部机制,直至他认为你把问题阐述的非常透彻才肯罢手,这就要求我们的开发人员对这些问题要做到深刻的理解。正是基于此,才有了本篇随笔的产生,在这篇文章里我将着重阐述我对String对象的理解,例如String的类型,它的内存分配模型以及它适合在什么情况下使用等等。String VS string其实二者的作用是一样的,之所以说它们是一样的,是因为在编译的时候,CLR在其内部使用了using string = System.String这样一个表达式,换句话说string就代表了String,或者 阅读全文
posted @ 2011-07-15 08:02 meifage2 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问 业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关 表示层:是系统的UI部分,负责使用者与整个系统的交互。 优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。分层式结构究竟其优势何在? 1、开发人员可以只关注整个结构中的其中某一层; 2、可以很容易的用新的实现来替换原有层次的实现; 3、可以降低层与层之间的依赖; 4、有利于标准化; 5 阅读全文
posted @ 2011-07-15 07:58 meifage2 阅读(309) 评论(0) 推荐(0) 编辑
摘要: Justin James曾发表过一篇博文《10 tips for advancing from a beginner to an intermediate developer》,为我们分享如何才能完成程序员从初级到中级的蜕变,现将中文译文转载于此,供大家借鉴。在一封与TechRepublic会员交流的邮件当中,他提到了面向程序员的博客、文章及杂志分成两类:面向初学者类(“hello world”这种类型的教程)以及面向专家类(MSDN杂志)。这个观点很好,有关程序员如何从初级跃升到中级的信息极少。以下是为了实现这种转变需要你去做的10件事。1.学习另一门语言其实你学的是哪一门语言并没有关系,但 阅读全文
posted @ 2011-07-15 07:40 meifage2 阅读(146) 评论(0) 推荐(0) 编辑
摘要: ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。例如:class RefExample{ static void Method(ref int i) { i = 44; } static void Main() { int val = 0; Method(ref val); // val is now 44 }}传递到 ref 参数的参数必须最先初始化。这与 out 不同,out 的参数在传递之前不需要显式初始化。示例按引用传递值类型(如上所示)是有用 阅读全文
posted @ 2011-07-15 07:36 meifage2 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 我在IF中经常用到一个方法,用来简化if (x == a || x == b || x ==c) 这样对同一个对象进行多次相等性比较的方法:public static bool In<T>(this T val, params T[] values)(3.0){return values.Contains(val);}public static bool In(T val, params T[] values)(2.0){return Array.Equals(T values,Predicate<T> match);}这个方法还可以进一步扩展,比如添加IEqualit 阅读全文
posted @ 2011-07-15 06:44 meifage2 阅读(379) 评论(0) 推荐(0) 编辑