04 2007 档案

摘要:逆转单向链表是一个很基础很常见的问题,可惜在我最近面试的几个面试者中还是发现有的人写不好这个程序或者写的有问题.请看下面的实现,这也是大多数人聪明的人会想到的实现方法 typedef struct Node{ int data; struct Node *next;}node; elementT *reverse(Node *p,Node *head){ if((!p)|... 阅读全文
posted @ 2007-04-29 14:52 芭蕉 阅读(1524) 评论(1) 推荐(0) 编辑
摘要:问题如下: 给定字符串,比如char *s = "abc",请用里面的字符做全排列,即求'a','b,'c'的全排列,其结果应该是"abc","acb","bac","bca","cab","cba"一共六种. 这个问题比较容易想到的解决方案是使用递归,要求以'a'开头的"abc"的全排列,可以先求"bc"的全排列,然后再加上'a'即可,"bc& 阅读全文
posted @ 2007-04-29 14:51 芭蕉 阅读(2508) 评论(0) 推荐(0) 编辑
摘要:Extension method,可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法(功能)。有人可能会提出疑问,如果是对类进行扩充,那使用继承不就ok了?是的,使用继承确实可以达到扩充功能的目的,但也会带来更多的问题,比如该使用子类的地方,传入的却是父类对象;比如想扩充的类为第三方提供,我们无法得知其内部细节等等。抛开这些统统不谈,为了让一个类型的实例增加一个方法,我们就要使用继承创造... 阅读全文
posted @ 2007-04-29 12:12 芭蕉 阅读(991) 评论(3) 推荐(1) 编辑
摘要:Item1:Always Use Properties Instead of Accessible Data Members 尽可能使用属性而不是数据成员。原因非常简单,因为属性是类的外部接口,而数据成员为类的内部实现,使用属性对内部成员进行封装,并添加额外的功能,譬如赋值前检查、设置为只读等等,也更能符合OO的要求,毕竟把内部数据成员直接暴露给外界是十分危险的的事情。 ... 阅读全文
posted @ 2007-04-21 13:15 芭蕉 阅读(269) 评论(0) 推荐(0) 编辑
摘要:我们来看下列变量声明 var i=5; var numbers=new int[]{1,2,3}; 首先,C# compiler 会在同一个namespace范围内寻找用户自定义的var类型,如果找到,则把i, numbers做作var类型处理。如果没找到,则认为i, numbers为implicitly typed local variables,并根据其初始值确实其类型,上述代码的IL代码... 阅读全文
posted @ 2007-04-16 17:45 芭蕉 阅读(412) 评论(1) 推荐(0) 编辑
摘要:不知不觉间,己经加入C# QA team四个多月了,天天在和Orcas打交道,却一直没有好好的去学习C# 3.0。现在Orcas beta1己经sign off,我想也是时间开始认识学习C# 3.0了。今天我先写些目前为止我认识的C# 3.0,并纠正部分人的错误认识,并稍说明一下Linq,XLinq和DLinq.Orcas使用的.net freamwork 不是3.0,而是.net freamwo... 阅读全文
posted @ 2007-04-13 20:27 芭蕉 阅读(273) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示