摘要: 泛型(generic)是C#语言2.0和通用语言运行时(CLR)的一个新特性。泛型为.NET框架引入了类型参数(type parameters)的概念。类型参数使得设计类和方法时,不必确定一个或多个具体参数,其的具体参数可延迟到客户代码中声明、实现。这意味着使用泛型的类型参数T,写一个类MyLi... 阅读全文
posted @ 2015-12-23 14:31 Clark-苏 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 下面的参考解答只是帮助大家理解,不用背,面试题、笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补缺用的,真正的把这些题搞懂了,才能“以不变应万变”。回答问题的时候能联系做过项目的例子是最好的,有的问题后面我已经补充联系到项目中的对应的案例了。1、简述private、protected、p... 阅读全文
posted @ 2015-12-23 11:40 Clark-苏 阅读(15731) 评论(1) 推荐(0) 编辑
摘要: 引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中... 阅读全文
posted @ 2015-12-23 11:20 Clark-苏 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 引言本文主要从线程的基础用法,CLR线程池当中工作者线程与I/O线程的开发,并行操作PLINQ等多个方面介绍多线程的开发。其中委托的BeginInvoke方法以及回调函数最为常用。而 I/O线程可能容易遭到大家的忽略,其实在开发多线程系统,更应该多留意I/O线程的操作。特别是在ASP.NET开发当中... 阅读全文
posted @ 2015-12-23 11:18 Clark-苏 阅读(185) 评论(0) 推荐(0) 编辑
摘要: C# 温故而知新: 线程篇(二)线程池和异步线程目录:1 什么是CLR线程池?2 简单介绍下线程池各个优点的实现细节3 线程池ThreadPool的常用方法介绍4 简单理解下异步线程5 异步线程的工作过程和几个重要的元素6 有必要简单介绍下Classic Async Pattern 和Event-b... 阅读全文
posted @ 2015-12-23 11:14 Clark-苏 阅读(176) 评论(0) 推荐(1) 编辑
摘要: c# 温故而知新: 线程篇(一)Thread目录:目录:1 线程基础的简单介绍2 线程同步与线程异步的简单介绍3 前台线程与后台线程的简单介绍4 细说下Thread 最为关键的构造函数5 细说下Thread 的 Sleep方法6细说下Thread 的 join 方法7细说下Thread 的 Abor... 阅读全文
posted @ 2015-12-23 11:10 Clark-苏 阅读(315) 评论(0) 推荐(1) 编辑
摘要: C#中的委托和事件引言如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。为什么要使用事件... 阅读全文
posted @ 2015-12-23 11:07 Clark-苏 阅读(247) 评论(0) 推荐(0) 编辑
摘要: C# 中的委托和事件文中代码在VS2005下通过,由于VS2003(.Net Framework 1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错,解决办法是显式的创建一个委托类型的实例(委托变量)。例如:委托类型 委托实例 = new 委托类型(... 阅读全文
posted @ 2015-12-23 11:05 Clark-苏 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 这篇博文我不讲委托和事件的概念,因为大段的文字概念没有任何意义。具体想了解,委托和事件的概念可以MSDN查阅。我这篇文章的主题思路是委托如何一步步进化成事件:何为委托--->委托来实现事件--->用方法对委托的封装--->Event的add,remove方法的引入--->标准事件写法--->反编译探... 阅读全文
posted @ 2015-12-23 11:02 Clark-苏 阅读(311) 评论(0) 推荐(1) 编辑
摘要: 动态创建对象在前面节中,我们先了解了反射,然后利用反射查看了类型信息,并学习了如何创建自定义特性,并利用反射来遍历它。可以说,前面三节,我们学习的都是反射是什么,在接下来的章节中,我们将学习反射可以做什么。在进行更有趣的话题之前,我们先看下如何动态地创建一个对象。我们新建一个Console控制台项目... 阅读全文
posted @ 2015-12-23 10:56 Clark-苏 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 反射特性(Attribute)可能很多人还不了解特性,所以我们先了解一下什么是特性。想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发送给某人:// title: 标题;author:作者;content:内容;receiverId:接受者Idpublic bool SendMsg(s... 阅读全文
posted @ 2015-12-23 10:54 Clark-苏 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 反射概述 和Type类1.反射的作用简单来说,反射提供这样几个能力:1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata);2、迟绑定(Late-Binding)方法和属性。3、动态创建类型实例(并可以动态调用所创建的实例的方法、字段、属性)。序章中,我们所采用的那个例子,只是反... 阅读全文
posted @ 2015-12-23 10:53 Clark-苏 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 引言反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助。反射是一个庞大的话题,牵扯到的知识点也很多,包括程序集、自定义特性、泛型等,想要完全掌握它非常不易。本文仅仅对反射做一个概要介绍,关于它更... 阅读全文
posted @ 2015-12-23 10:48 Clark-苏 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 前一阵子有幸看到了abatei大牛的泛型系列文章,学习了两周左右,大概学会了50%左右,说实话挺难的,有兴趣的朋友可以去看看! http://www.cnblogs.com/abatei/archive/2008/02/20/1075760.html,讲的真不错,很赞的文章! 在此记录下我的... 阅读全文
posted @ 2015-12-23 10:42 Clark-苏 阅读(331) 评论(0) 推荐(0) 编辑
摘要: C#的yield关键字由来以久,如果我没有记错的话,应该是在C# 2.0中被引入的。相信大家此关键字的用法已经了然于胸,很多人也了解yield背后的“延迟赋值”机制。但是即使你知道这个机制,你也很容易在不经意间掉入它制造的陷阱。目录 一、一个很简单的例子 二、简单谈谈“延迟赋值” ... 阅读全文
posted @ 2015-12-23 10:32 Clark-苏 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 写博客是检验我学习的成果之一以及自我总结的一种方式,以后会经常利用这种方式进行技术交流和自我总结,其中认识不深难免会有错误,但是一直懂得不懂就问,不懂就学的道理! 1、首先看一个简单的列子 1 int[] myArray = { 1, 32, 4... 阅读全文
posted @ 2015-12-23 10:29 Clark-苏 阅读(189) 评论(0) 推荐(0) 编辑
摘要: C#初学者经常被问的几道辨析题,值类型与引用类型,装箱与拆箱,堆栈,这几个概念组合之间区别,看完此篇应该可以解惑。 俗话说,用思想编程的是文艺程序猿,用经验编程的是普通程序猿,用复制粘贴编程的是2B程序猿,开个玩笑^_^。 相信有过C#面试经历的人,对下面这句话一定不陌生: 值类型直接存储其值... 阅读全文
posted @ 2015-12-23 10:24 Clark-苏 阅读(271) 评论(0) 推荐(1) 编辑
摘要: 阅读目录前言值类型的装箱值类型的拆箱装箱和拆箱实例结束语前言 在.Net 中值类型向引用类型的转换以及从引用类型到值类型的转换是需要装箱(boxing)和拆箱(unboxing)的,这是因为值类型是比引用类型更轻型的一种类型,因为他们不想对象那样在托管队中分配,不会被GC收集,而且不需要通过指针来引... 阅读全文
posted @ 2015-12-23 10:17 Clark-苏 阅读(552) 评论(0) 推荐(1) 编辑
摘要: 本文是转发博友的总结,方便自己以后随时温习:1.值类型和引用类型 1.1堆和栈 简单的说值类型存放在堆栈上面,引用类型的数据存放在托管堆上面(它的引用地址却存放在堆栈上面)! 栈:它是一个内存数组,是一个先进后出的数据结构! 栈的特征:数据只能从栈顶进,从栈顶出! 堆:它是一个内存区域,可... 阅读全文
posted @ 2015-12-23 10:08 Clark-苏 阅读(311) 评论(0) 推荐(0) 编辑
摘要: 引言 本篇文章主要介绍.NET中6个重要的概念:栈,堆,值类型,引用类型,装箱,拆箱。文章开始介绍当你声明一个变量时,编译器内部发生了什么,然后介绍两个重要的概念:栈和堆;最后介绍值类型和引用类型,并说明一些有关它们的重要原理。 最后通过一个简单的示例代码说明装箱拆箱带来的性能损耗。声明变量的... 阅读全文
posted @ 2015-12-23 09:55 Clark-苏 阅读(205) 评论(0) 推荐(0) 编辑