逆转单向链表
逆转单向链表是一个很基础很常见的问题,可惜在我最近面试的几个面试者中还是发现有的人写不好这个程序或者写的有问题.请看下面的实现,这也是大多数人聪明的人会想到的实现方法typedef struct Node{ &n...
逆转单向链表
逆转单向链表是一个很基础很常见的问题,可惜在我最近面试的几个面试者中还是发现有的人写不好这个程序或者写的有问题.请看下面的实现,这也是大多数人聪明的人会想到的实现方法typedef struct Node{ &n...
字符串的全排列
问题如下:给定字符串,比如char *s = "abc",请用里面的字符做全排列,即求'a','b,'c'的全排列,其结果应该是"abc","acb","bac","bca","cab","cba"一共六种.这个问题比较容易想到的解决方案是使用递归,要求以'a'开头的"...
C# 3.0 feature 2--Extension methods
Extension method,可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法(功能)。有人可能会提出疑问,如果是对类进行扩充,那使用继承不就ok了?是的,使用继承确实可以达到扩充功能的目的,但也会带来更...
《Effective C#》
尽可能使用属性而不是数据成员。原因非常简单,因为属性是类的外部接口,而数据成员为类的内部实现,使用属性对内部成员进行封装,并添加额外的功能,譬如赋值前检查、设置为只读等等,也更能符合OO的要求,毕...
C# 3.0 feature 1--Implicitly typed local variables
我们来看下列变量声明var i=5; var numbers=new int[]{1,2,3};首先,C# compiler 会在同一个namespace范围内寻找用户自定义的var类型,如果找到,则把i, numbers做作var类型处理。如果没...
结合实例学习F#(一) --快速入门
F#随着VSTS 2010 Beta1 发布也有一段时间了,园子里应该也有不少人对它感兴趣吧。下面的例子是我在学F# 基本语法时写的一个简单Sieve of Eratosthenes 实现,通过剖析这一小段代码,我希望大家能对F#有个...
WCF分布式安全开发实践(10):消息安全模式之自定义用户名密码
WCF分布式安全开发实践(10):消息安全模式之自定义用户名密:Message_UserNamePassword_WSHttpBinding 文章主要是消息安全模式下的UserNamePassword身份验证方式,基于WSHttpBinding绑...
和我一起学VSTA(Visual Studio Tools for Applications )(五)
前面四章是介绍,我们已经可以成功的通过一个winform程序打开一个VSTA的IDE编程窗口进行二次开发,但是对于我们使用来说是远远不够的,对于二次开发来说,最重要的一点是从主程序调用二次开发时编写的方法。这一篇,...
一次性能提升300%的优化实践
性能优化一般都是从性能瓶颈开始。项目中有这样一个控件,它包含很多个Item,每个Item字体可能相同,也可能不同。且该控件经常在同一个Form上大量使用。正是这个控件在使用GDI画每个Item的文字时,出现了性能瓶颈。I...
结合实例学习F#(一) --快速入门
F#随着VSTS 2010 Beta1 发布也有一段时间了,园子里应该也有不少人对它感兴趣吧。下面的例子是我在学F# 基本语法时写的一个简单Sieve of Eratosthenes 实现,通过剖析这一小段代码,我希望大家能对F#有个...
结合实例学习F#(一) --快速入门
F#随着VSTS 2010 Beta1 发布也有一段时间了,园子里应该也有不少人对它感兴趣吧。下面的例子是我在学F# 基本语法时写的一个简单Sieve of Eratosthenes 实现,通过剖析这一小段代码,我希望大家能对F#有个...
GCHandle Leak
刚刚在园子里看到一篇文章《.net中的游魂现象》,正好这两天关心这个问题,就打算再写篇文章和大家讨论一下,先给大家提两个问题:问题1:点击button1后,Timer会被GC回收吗?点击button2后呢?为什么?(这个问题来...
.net中的游魂现象
跳出三界外,不在五行中的timer:在使用timer的时候,发现timer类型对象的作用于比较奇特。一般而言,在函数内定义的变量,其作用域不超过函数,在函数结束的时候变量的生命周期就结束了,但是万事里总会有个一,普...
c#扩展方法奇思妙用变态篇一:由Fibonacci数列引出“委托扩展”及“递推递归委托”
先回顾一个数列的概念:按一定次序排列的一列 数 称为数列...(请参见百度百科:数列)几个简单的数列: 1, 1, 1, 1, 1, 1, 1...  ...
.NET : LINQ之Join语法的思考
我们知道,在LINQ 查询中,对於Join的操作,提供了三种不同的实现方式内联接(INNER JOIN)分组联接(GROUP JOIN)左外联接(LEFT JOIN)关于上面三种JOIN语法的详细介绍,请直接参考MSDN,这里我做一点简要的总结:内联接...
.NET调PHP Web Service的典型例子
最近一个项目由"WinForm直接访问DB2"移植到"WinForm通过PHP Web Service来访问DB2”。(优点是php可以架在Linux上,而Linux是免费的) 这个命题的难点不是访问DB2,而是.NET调用...
.NET调PHP Web Service的典型例子
最近一个项目由"WinForm直接访问DB2"移植到"WinForm通过PHP Web Service来访问DB2”。(优点是php可以架在Linux上,而Linux是免费的) 这个命题的难点不是访问DB2,而是.NET调用...
WCF分布式开发常见错误
使用传输安全模式,证书建立SSL,宿主端口证书配置完毕,但是客户调用服务出错。【1】错误信息:Could not establish trust relationship for the SSL/TLS secure channel with authority 'computer:9001'.不...
C#结构体和字节数组的转换
在写C#TCP通信程序时,发送数据时,只能发送byte数组,处理起来比较麻烦不说,如果是和VC6.0等写的程序通信的话,很多的都是传送结构体,在VC6.0中可以很方便的把一个char[]数组转换为一个结构体,而在C#却不能直接...