代码改变世界

使用Func<T>对对象进行排序

2013-01-02 14:32 by 哒不溜, 1121 阅读, 0 推荐, 收藏, 编辑
摘要:这种方法使用原理还是冒泡排序,但是他扩展的,不仅是对int类型的数据,也可以对其他的一些无法用“<”或“>”来进行排序的对象。代码如下:解决方案的名称:DelegateBubbleSorterBubbleSorter.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace DelegateBubbleSorter{ class BubbleSorter { static public void Sort<T>(IList<T> 阅读全文

定义一个委托的三种形式

2012-12-31 13:17 by 哒不溜, 2901 阅读, 2 推荐, 收藏, 编辑
摘要:今天是2012年的最后一天,外面天气又冷,不想出门,在家闲着无聊,找了本书看看,随便翻了翻,下面跟大家分享一下,我的看书成果。随手一翻,看到了委托这一章节。委托这是一个非常有用,也非常重要的东东,用过的人一定深有体会。今天谈谈委托的三种定义形式,可能有点人会认为,声明委托不就是用:Delegate关键吗?我在今天以前也是这么认为的,但是ton通过 今天的看书,我了解到,其实在C#中声明委托不一定要用Delegate,还可以用Action<T>和Func<T>委托,下面我就一一为大家分享一哈,这两种泛型到底是怎么来什么委托的。第一种申明委托的方式:Delegate这时大家 阅读全文

使用委托实现了在循环中调用不同的方法

2012-12-10 22:58 by 哒不溜, 1803 阅读, 1 推荐, 收藏, 编辑
摘要:今天晚上感觉到精力充沛,所以看看了书,随便翻开看到了一个关于委托了小例子,在这里拿出来跟大家分享一下。首先定义了一个MathOperations类,该类里面有两个静态方法(定义成静态的方便后面调用),方法真的简单的过分,我就不解释了,上代码吧: class MathOperations { public static double MultiplyByTwo(double value) { return value * 2; } public static double Square(double val... 阅读全文

设计模式学习之设计原则

2012-12-10 22:08 by 哒不溜, 582 阅读, 0 推荐, 收藏, 编辑
摘要:设计原则在应用面向对象编程过程中应该遵守的准则,更是使用设计模式的基础。第一大设计原则:单一职责原则 就一个类而言,应该仅有一个引起它变化的原因,一个类只承担一个任务,只完成一件事情就OK了,不要把所有的功能都耦合在一个类中。第二大设计原则:开放-封闭原则 软件实体(类、模块、函数等等)应该是可以扩展,但是不可修改的。如果需求变动了,最最好的做法是,增加代码,而不是修改原来的代码。第三大设计原则:依赖倒转原则 1、高层模块不应该依赖底层模块。两个都应该依赖抽象。 2、抽象不应该依赖细节。细节应该依赖抽象。 说白了,就是在设计高层模块和设计底层模块时,应该都考虑针对接口或者抽象类进行编... 阅读全文

设计模式学习之策略模式

2012-12-09 20:36 by 哒不溜, 167 阅读, 0 推荐, 收藏, 编辑
摘要:就我目前的理解来看,我觉得策略模式和简单工厂模式很相似,为什么这样说呢,听我一一道来:相同点:1、他们都有一个所有对象抽象的一个抽象类,在给抽象类中有一个抽象方法2、在一般类都继承自该抽象类,并都是实现了给抽象方法不同点:1、简单工厂模式有一个工厂类,用来接收不同的参数,通过该参数来实例化不同的类。2、而策略模式有一个上下文类,该类有两个作用,第一个就是构造函数通过参数,来个抽象类指定对象;第二个就是定一个公共方法,通过对象来调用抽象方法,并把得到的值返回。总结,简单工厂模式,实例化在工厂类中,而策略模式实例化在客户端调用时。源码下载 阅读全文

设计模式学习之简单工场模式

2012-12-09 19:59 by 哒不溜, 175 阅读, 0 推荐, 收藏, 编辑
摘要:我自己理解的简单工厂模式的一般模型是:1、将需要实例化的所有对象都抽象称一个抽象类cA,并在这个抽象类中定义所有对象共有的抽象方法mA.2、定义一般类,并继承自抽象类cA,然后实现各自原本的功能。3、定义一个工厂类,该工厂类中有一个返回类型为抽象类cA,该方法是public的,并根据传入的参数的不同去实例化不同的对象。例子源码 阅读全文

检查机器是否安装了.NET Framework 或已经安装了哪些.net版本

2012-12-05 19:53 by 哒不溜, 589 阅读, 1 推荐, 收藏, 编辑
摘要:1、要知道是否已经安装了.NET Framework,只需要检查%SystemRoot%\Sytem32(系统目录\System32) 目录中的mscoree.dll 文件。存在该文件,则表明.NET Framework已安装。 路径如:C:\WINDOWS\system32\mscoree.dll2、如果电脑上面安装了几个版本的.NET Framework,要确切的了解已安装了哪些版本的.NET Framework,请查看一下注册表的子项: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP 阅读全文

书籍清单

2012-12-03 10:42 by 哒不溜, 204 阅读, 0 推荐, 收藏, 编辑
摘要:1、Code Complete 代码大全(第2版)2、CLR Via C# 第三版3、观止_微软创建NT和未来的夺命狂奔4、《深入解析C#》姚琪琳翻译的 阅读全文

好网址收集

2012-10-17 14:22 by 哒不溜, 645 阅读, 0 推荐, 收藏, 编辑
摘要:CSDN网站:http://topic.csdn.net/u/20121015/08/C78078E9-D1A3-4252-B0E3-3D59DC946ECA.html(收集整理的类库)http://blog.csdn.net/hwenycocodq520/article/details/8038218(控制台游戏)cnblogs:http://www.cnblogs.com/Olive116/archive/2012/10/08/2714976.html学习心得)壁纸:http://news.cnblogs.com/n/128794/Linq 学习MSDN:http://msdn.micro 阅读全文

coding中十大低级错误

2012-07-20 11:53 by 哒不溜, 521 阅读, 0 推荐, 收藏, 编辑
摘要:1.前言本文根据java和C#开发人员在编码过程中容易忽视或者经常出错的地方进行了整理,总结了十大比较常见的低级错误点,与大家交流一下。2.十大低级错误1.不能用“==”比较两个字符串内容相等。2.对list做foreach循环时,循环代码中不能修改list的结构。3.数组下标越界4.将字符串转换为数字时没有捕获NumberFormatException异常。5.对文件、IO、数据库等资源进行操作后没有及时、正确进行释放。6.循环体编码时不考虑性能,循环体中包含不需要的重复逻辑。7.数据类没有重载toString()方法。8.嵌套使用try-catch,或者try-catch后面没有必要的fi 阅读全文