代码改变世界

随笔分类 -  语言编程(C#)

Dynamic - ExpandoObject学习心得

2014-09-19 20:49 by 哒不溜, 2497 阅读, 收藏, 编辑
摘要: 1、 今天下午在做开发过程中,遇到了一个问题,要往Xml文件中添加新的节点,做个xml开发的都知道该怎么做,这不是什么难事,我卡卡卡卡把这个问题解决了,但是新问题又来了,要对xml中对应的节点数据添加属性更改通知功能???我一听到这个需求就蒙了,我上哪去给xml节点数据整TMD属性更改通知啊。哎。。... 阅读全文

C#各种常用开源框架-支持开源!分享!

2014-05-01 15:31 by 哒不溜, 1290 阅读, 收藏, 编辑
摘要: 下面罗列了开发及学习过程中所涉及的开源类库的列表!AForge.NETAccord.NETNAudionVLCSpeexC# WebServerFFmpegFFmpeg.NETFlowplayeriSpyZoneMinderONVIF Device ManagerGoogle GDataGMap.N... 阅读全文

匿名类型与Lambda表达式

2013-01-02 19:57 by 哒不溜, 1549 阅读, 收藏, 编辑
摘要: 匿名类型:先上一个匿名类的例子吧:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace DelegateDemo2{ class Program { static void Main(string[] args) { string mid = ",middle part"; //匿名方法的应用,在3.0以后就是用lambda表达式来代替了匿名方法 Func<st... 阅读全文

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

2013-01-02 14:32 by 哒不溜, 1115 阅读, 收藏, 编辑
摘要: 这种方法使用原理还是冒泡排序,但是他扩展的,不仅是对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 哒不溜, 2890 阅读, 收藏, 编辑
摘要: 今天是2012年的最后一天,外面天气又冷,不想出门,在家闲着无聊,找了本书看看,随便翻了翻,下面跟大家分享一下,我的看书成果。随手一翻,看到了委托这一章节。委托这是一个非常有用,也非常重要的东东,用过的人一定深有体会。今天谈谈委托的三种定义形式,可能有点人会认为,声明委托不就是用:Delegate关键吗?我在今天以前也是这么认为的,但是ton通过 今天的看书,我了解到,其实在C#中声明委托不一定要用Delegate,还可以用Action<T>和Func<T>委托,下面我就一一为大家分享一哈,这两种泛型到底是怎么来什么委托的。第一种申明委托的方式:Delegate这时大家 阅读全文

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

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

设计模式学习之设计原则

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

设计模式学习之策略模式

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

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

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

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

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

走进WPF系列学习之三 如何应用WPF控制图形透明度与混色特效

2012-01-13 14:17 by 哒不溜, 2322 阅读, 收藏, 编辑
摘要: 提示框(有趣小Demo)昨天跟大家探讨了“如何使用WPF绘制2D图形界面”的话题,觉得还蛮有意思的,有种意犹未尽的感觉,所以昨天下班回家之后有捣腾了一下,做了一个有趣的小Demo,下面首先给大家Share一下我昨天晚上的成果:做出来的最后运行效果如上图所示,由于只能用图片显示,其实但当你按住鼠标左键,然后可以在屏幕上拖动该提示框(我觉得效果还可了,哈哈),我会在后面提供源码的下载,大家可以下载下来,在本地运行着看一哈子,体验一下。用WPF来做这个提示框其实很简单,很多复杂的东西Microsoft都给我们做好了,我们只要会用就可以了,以后在慢慢搞清楚其中的实现原理就OK啦。其实我觉得学新技术就是 阅读全文

走进WPF系列学习之二 如何用WPF绘制与配置2D图形界面

2012-01-12 17:23 by 哒不溜, 2243 阅读, 收藏, 编辑
摘要: 今天在公司比较闲所以就连续学了两节WPF,下面是要跟大家探讨一下关于如何用WPF绘制与配置2D图像界面,说来好笑,刚刚公司的同事遇到一个有关WPF的问题——怎样在WPF的设计页面化一个红色箭头。刚刚看到这个问题,我思考了一下,也动手做了一下,不过能力有限还是自己没有解决,于是开始Google,Baidu。在网上有很多解决方案,但是用的方法都是差不多的:写一个画箭头的class,然后在需要用到箭头的地方实例化箭头Class,并给相应的坐标赋值,最后将对象Add到Canvas控件中。用WPF画箭头自定义的画箭头Class代码:View Code namespace ZhangWei.WPF.Sha 阅读全文

走进WPF系列学习之一 如何建立、设计、执行与部署WPF应用程序

2012-01-12 16:19 by 哒不溜, 2675 阅读, 收藏, 编辑
摘要: 近在公司要用WPF做一个项目,以前都没有怎么接触过WPF,所以在接下来的一段日子里,我要好好研究研究WPF。我会把我在的学习过程,和学习心得记录下来。一方面是对自己学习的总计,另一方面也可以让像我一样刚刚接触WPF的同志们一个借鉴吧!好了下面正式开始吧。简介WPF 为Windows Presentation Foundation的缩写 ,意思是基于windows的图形界面处理,其原来代号为“Avalon”,因“我佩服”拼音首字母组合一样,国内有人调侃地称之为“我佩服”。由 .NET Framework 3.0 开始引入,并且在以后的版本中都支持WPF,与 Windows Presentatio 阅读全文

谈谈”隐藏类型局部变量、扩展方法、对象与集合初始化器、匿名类型“

2011-11-23 16:52 by 哒不溜, 1010 阅读, 收藏, 编辑
摘要: 今天看到李建中老师的一个视频关于C#3.0新特性的讲解。本人自己在其中学到了不少东西,下面分享一下我学到的东西:隐藏类型局部变量在隐型局部变量声明中,正被声明的局部变量的类型从初始化这个变量的表达式推导得来。当局部变量声明指明var作为类型,并且该范围域(scope)中没有var名称的类型存在,这个声明就称为隐型局部声明。隐藏类型局部变量为我们节省了代码的编写,其实这些苦力都是编译器为我们做了,例如: var i = 5; var h = 23.23; var s = "C Sharp"; var intA... 阅读全文

在 winfrom 中弹出outlook 并添加附件

2011-11-22 21:03 by 哒不溜, 451 阅读, 收藏, 编辑
摘要: 这段时间在公司修改一个前辈们做过的测试工具:test client。需要在该工具中添加一个功能就是点击按钮是弹出outlook界面,并添加附件:刚开始的直接用简单的方式实现的,现贴出分享如下: microsoft.win32.registrykey rkey = microsoft.win32.registry.classesroot.opensubkey(@"mailto\shell\open\command");//这里我们查找系统的缺省邮件客户程式,其他的客户程式我没有试验过,不知道这种方式是否可行if(rkey != null) {//这里查找outlook应用程式 阅读全文

C# 泛型学习

2011-06-29 10:00 by 哒不溜, 282 阅读, 收藏, 编辑
摘要: 最显著的一点就是它参数化了类型,把类型作为参数抽象出来,从而使我们在实际的运用当中能够更好的实现代码的重复利用,同时它提供了更强的类型安全,更高的效率,不过在约束方面,它只支持显示的约束,这样在灵活性方面就显得不是那么好了.我觉得它之所以能够提供更高的效率是因为泛型在实例化的时候采用了"on-demand"的模式,即按需实例化,发生在JIT(Just In Time)编译时. 下面来看如何定义一个泛型类,很简单,你只需要意识到一点,在这里,类型已经被参数化了:usingSystem;usingSystem.Collections.Generic;usingSystem.Te 阅读全文