2013年9月12日
摘要: 委托有两层含义:1、对象复用过程中,一个类委托另一个类做事情。2、C#中,表示一类方法,这类方法具备相同的形参表(输入)和返回类型(产出)相同,而不要求方法名。委托(对象复用)继承是一种很好的复用方式,假设A继承B,意味着A包含B所有的字段和方法,也就是说,二者在语义上是一种IsA的关系。但很多时候并不是这种情况,而是二者之间存在关联关系,A委托B去做一件事。常见的设计模式中,有一些就是特殊的委托关系。比如:1、状态模式:一个对象将请求委托给描述该对象状态的State对象去处理。2、对象适配器模式:Adapter委托Adaptee去做一件事。3、代理模式:Proxy委托RealSubject去 阅读全文
posted @ 2013-09-12 20:21 Andy Niu 阅读(772) 评论(0) 推荐(0)
摘要: 1、int-->string1 int a = 15;2 string s1 = a.ToString();3 string s2 = Convert.ToString(a);2、string -->int1 string s = "18";2 int a1 = int.Parse(s);3 int a2;4 int.TryParse(s, out a2);5 int a3 = Convert.ToInt... 阅读全文
posted @ 2013-09-12 19:29 Andy Niu 阅读(220784) 评论(0) 推荐(6)
摘要: 现在有3个按钮,Button1,Button2,Button3,Button1包含Button2,Button2包含Button3,每个按钮都注册事件PreviewMouseLeftButtonDown 与 MouseLeftButtonDown,执行顺序如下:Preview1--> Preview2--> Preview3--> 3 --> 2 --> 1也就是:PreviewDown 从外到内,Down从内到外。另外,Button.ClickMode设为 Hover 阅读全文
posted @ 2013-09-12 16:45 Andy Niu 阅读(1789) 评论(0) 推荐(0)
摘要: 算法一:新建两个List,ListA添加不重复的元素,ListB保存重复的元素,遍历原来的List,ListA不包含元素,添加到ListA中,ListA包含说明重复,添加到ListB中。算法二:使用Linq或者扩展方法+Lambda对集合进行分组,查找组内元素个数大于1 的组。算法三:对集合排序,遍历集合,当前元素与下一个元素相同,即认为是重复元素。 阅读全文
posted @ 2013-09-12 16:30 Andy Niu 阅读(1471) 评论(0) 推荐(0)