上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 40 下一页
摘要: 引言: C# 2.0 中还引入了可空类型,可空类型也是值类型,只是可空类型是包括null的值类型的,下面就介绍下C#2.0中对可空类型的支持具体有哪些内容(最近一直都在思考如何来分享这篇文章的,因为刚开始觉得可空类型使用过程中比较简单,觉得没有讲的必要,但是考虑到这个系列的完整性,决定还是唠叨下吧,希望对一些不熟悉的人有帮助)。一、为什么会有可空类型 如果朋友们看了我之前的分享,对于这一部分都不会陌生,因为我一般介绍C#特性经常会以这样的方式开头的, 因为每个特性都是有它出现的原因的(有一句佛语这是这么讲的:万事皆有因,有因必有果),首先来说说这个因的(果当然是新增加了可空类型这个新特性了.. 阅读全文
posted @ 2013-05-14 10:07 于为 阅读(175) 评论(0) 推荐(0)
摘要: 引言: 在C# 2.0中泛型并不支持可变性的(可变性指的就是协变性和逆变性),我们知道在面向对象的继承中就具有可变性,当方法声明返回类型为Stream,我们可以在实现中返回一个FileStream的类型,此时就存在一个隐式的转化——从FileStream类型(子类引用)——>Stream类型(父类引用),并且引用类型的数组也存在这种从子类引用——>父类引用的转化,例如string[] 可以转化为object[](即这样的代码是可以通过编译的:string[] strs =new string[3]; object[] objs =strs;),此时我们肯定会想是否泛型中的泛型参数也 阅读全文
posted @ 2013-05-14 10:06 于为 阅读(262) 评论(0) 推荐(0)
摘要: 引言: 本专题主要是承接上一个专题要继续介绍泛型的其他内容,这里就不多说了,就直接进入本专题的内容的。一、类型推断 在我们写泛型代码的时候经常有大量的"<"和">"符号,这样有时候代码一多,也难免会让开发者在阅读代码过程中会觉得有点晕的,此时我们觉得晕的时候肯定就会这样想:是不是能够省掉一些"<" 和">"符号的呢?你有这种需求了, 当然微软这位好人肯定也会帮你解决问题的,这样就有了我们这部分的内容——类型推断,意味着编译器会在调用一个泛型方法时自动判断要使用的类型,(这里要注意的是:类型推 阅读全文
posted @ 2013-05-14 10:05 于为 阅读(231) 评论(0) 推荐(0)
摘要: 引言: 在上一个专题中介绍了C#2.0 中引入泛型的原因以及有了泛型后所带来的好处,然而上一专题相当于是介绍了泛型的一些基本知识的,对于泛型的性能为什么会比非泛型的性能高却没有给出理由,所以在这个专题就中将会介绍原因和一些关于泛型的其他知识。一、泛型类型和类型参数 泛型类型和其他int,string一样都是一种类型,泛型类型有两种表现形式的:泛型类型(包括类、接口、委托和结构,但是没有泛型枚举的)和泛型方法。那什么样的类、接口、委托和方法才称作泛型类型的呢 ?我的理解是类、接口、委托、结构或方法中有类型参数就是泛型类型,这样就有类型参数的概念的。类型参数——是一个真实类型的一个占位符(我想.. 阅读全文
posted @ 2013-05-14 10:04 于为 阅读(195) 评论(0) 推荐(0)
摘要: 引言:前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解,那就让我们一起进入本专题的学习的。一、泛型的是什么 泛型的英文解释为generic,当然我们查询这个单词时,更多的解释是通用的意思,然而有些人会认为明明是通用类型,怎么成泛型了的,其实这两者并不冲突的,泛型本来代表的就是通用类型,只是微软可能有一个比较官方的此来形容自己引入的特性而已,既然泛型是通用的, 那么泛型类型就是通用类型的,即泛型就是一中模子。 在生活中,我们经常会看到模子,像我们平常生. 阅读全文
posted @ 2013-05-14 10:03 于为 阅读(215) 评论(1) 推荐(1)
摘要: 引言:当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑问的——既然上一专题中说事件是一个多播委托,然而自动生成的代码中只有事件的实例化,却没有看到事件的调用,那既然没有事件调用的代码,那封装的Click为什么会执行呢?一、点击按钮时触发Click事件背后发送的事情在引言中提出了我的提问的, 我相信有些朋友可能也会有这样的疑问的,然后事件肯定是调用了的, 只是不是我们代码中调用,而是Butoon控件的内部代码里面调用了事件,而导致委托封装的Click方法 阅读全文
posted @ 2013-05-14 10:02 于为 阅读(471) 评论(0) 推荐(0)
摘要: 引言:前面几个专题对委托进行了详细的介绍的,然后我们在编写代码过程中经常会听到“事件”这个概念的,尤其是写UI的时候,当我们点击一个按钮后VS就会自动帮我们生成一些后台的代码,然后我们就只需要在Click方法里面写代码就可以,所以可能有些刚接触C#的朋友就觉得这样很理所当然的,也没有去思考这是为什么的,为什么点击下事件就会触发我们在Click方法里面写的代码呢?事件到底扮演个什么样的角色呢?为了解除大家的这些疑惑,下面就详细介绍了事件,让一些初学者深入理解C#中的事件的概念。一、为什么C#中会有事件的? 前面专题中介绍了我理解的为什么需要委托的,所以这里我来分享下我理解的为什么C#中要引入事. 阅读全文
posted @ 2013-05-14 10:00 于为 阅读(219) 评论(0) 推荐(0)
摘要: 引言:上一专题介绍了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的介绍都是委托只是封装一个方法,那委托能不能封装多个方法呢?因为生活中经常会听到,我代表大家的意见等这样的说话,既然委托也是一个代表,那他如果只能代表一个人,那他的魅力就不是很大了吧,所以我们就会委托能不能代表多个方法的? 答案是可以的,这就是本专题要讲的内容——委托链,委托链也是一个委托,只是因为它是把多个委托链在一起,所以我们就以委托链来这么称呼它的。一、到底什么是委托链我们平常实例化委托对象时都是绑定一个方法的, 前一个专题介绍的委托也是包装了一个方法的, 用前面的例子就是 阅读全文
posted @ 2013-05-14 09:58 于为 阅读(227) 评论(0) 推荐(0)
摘要: 引言:上一个专题已经和大家分享了我理解的——C#中为什么需要委托,专题中简单介绍了下委托是什么以及委托简单的应用的,在这个专题中将对委托做进一步的介绍的,本专题主要对委本质和委托链进行讨论。一、委托的本质 平时我们很容易使用委托——用C#delegate关键字定义委托,再用new操作符构造委托实例,然后通过调用委托实例来调用回调方法(就是用一个了委托对象的变量来代替方法名,这句话如果刚接触的人不好理解的话,这里给个例子:MyDelegatemydelegate =new Mydelegate(obj.mymethod),MyDelegate是定义的一个委托,假设定义的是没有参数的,然后调用委. 阅读全文
posted @ 2013-05-14 09:57 于为 阅读(166) 评论(0) 推荐(0)
摘要: 引言:对于一些刚接触C# 不久的朋友可能会对C#中一些基本特性理解的不是很深,然而这些知识也是面试时面试官经常会问到的问题,所以我觉得有必要和一些接触C#不久的朋友分享下关于C#基础知识的文章,所以有了这个系列,希望通过这个系列让朋友对C#的基础知识理解能够更进一步。然而委托又是C#基础知识中比较重要的一点,基本上后面的特性都和委托有点关系,所以这里就和大家先说说委托,为什么我们需要委托。一、C#委托是什么的?在正式介绍委托之前,我想下看看生活中委托的例子——生活中,如果如果我们需要打官司,在法庭上是由律师为我们辩护的,然而律师真真执行的是当事人的陈词,这时候律师就是一个委托对象,当事人委托律 阅读全文
posted @ 2013-05-14 09:55 于为 阅读(263) 评论(0) 推荐(0)
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 40 下一页