本章代码分为以下几个主要的示例文件: 1. 简单委托 2. 冒泡排序 3. lambda表达式 4. 事件示例 5. 弱事件     引用方法 委托是寻址方法的.NET版本.在C++中函数指针只不过是一个指向内存位置的指针,它不是类型安全的. 而.NET委托完全不同,委托是类型安全的类,它定义了返回类型和参数的类型. 委托类不仅不仅包含对方法的引用,也可以包含对多个方法的引用.   lambda表达式与委托直接相关.当参数是委托类型时,就是可以使用lambda表达式实现委托引用的方法…
原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此,我要感谢网易的一个工程师朋友和室友,没有他们,我不会开始真正的学习这本书,希望大家以后开始慢慢进步.废话少说,直接上课后习题了. UNIX高级编程第一章习题答案: 1.1在系统上验证,除根目录外,目录l和l l是不同的. 答:这个验证有很多方法可使用命令ls .cd.vim等,目录.指向当前目录,目录..指…
委托 如果我们要把方法当做参数来传递的话,就要用到委托.简单来说委托是一个类型,这个类型可以赋值一个方法的引用. 声明委托 在C#中使用一个类分两个阶段,首选定义这个类,告诉编译器这个类由什么字段和方法组成的,然后使用这个类实例化对象.在我们使用委托的时候,也需要经过这两个阶段,首先定义委托,告诉编译器我们这个委托可以指向哪些类型的方法,然后,创建该委托的实例. 定义委托的语法如下: delegate void IntMethodInvoker(int x); 定义了一个委托叫做IntMetho…
第一章 .Net体系结构 1,公共语言运行库(Common Language Runtime, CLR) .Net Framework的核心是其运行库的执行环境,称为公共语言运行库,或.Net运行库.通常在CLR的控制下运行的代码称为托管代码(managed code).   在CLR执行编写好的源代码之前,需要编译它们.在.Net中,编译分为两个阶段: 把源代码编译成Microsoft中间语言(Microsoft Intermediate Language,MSIL). CLR把IL编译为平台…
[1]6.2 运算符 1.&符在C#里是逻辑与运算.管道符号|在C#里则是逻辑或运算.%运算符用来返回除法运算的余数,因此当x=7时,x%5的值将是2. [2]6.2.1 运算符的简写 1.下面的例子++运算符来演示前缀式和后缀式之间的不同表现: int x = 5; if (++x == 6) // true – x先自加,再进行判断,此时x为6,因此为true. { Console.WriteLine("This will execute"); } if (x++ == 7…
[1]5.1 泛型概述 1.通过泛型,你可以创建独立于特定类型(contained types)以外的方法和类,而不用为不同类型编写多份同样功能的代码,你只需要创建一个方法或者类. 2.泛型类使用泛型类型用来代替所需的特定类型.这一点能满足类型安全的需求:如果传入的类型不满足泛型类的定义,编译器就会及时提示一个错误. 3.用在接口和方法上的泛型. 4.泛型并不仅仅只由C#进行构造,它同时在CLR(Common Language Runtime)里也定义了.这使得它可以在VB里实例化同一个泛型类型…
[1]3.1 创建及使用类 1.构造函数:构造函数的名字与类名相同: 使用 new 表达式创建类的对象或者结构(例如int)时,会调用其构造函数.并且通常初始化新对象的数据成员. 除非类是静态的,否则会为没有构造函数的类,自动生成一个默认构造函数,并使用默认值来初始化对象字段. 构造函数可以有参数,可以以多态的形式存在多个构造函数. 构造函数分为:实例构造函数,静态构造函数,私有构造函数.   参考:https://www.cnblogs.com/cang12138/p/8297270.html…
第二章 基础 1,helloworld示例: helloworld.cs using System; using System.Collections.Generic; using System.Linq; using System.Text;   namespace HelloWorld { class Program { static void Main(string[] args) { Console.WriteLine("Hello Wold. C#"); return; }…
[1]7.1 相同类型的多个对象 1.假如你需要处理同一类型的多个对象,你可以使用集合或者数组. 2.如果你想使用不同类型的不同对象,你最好将它们组合成class.struct或者元组. [2]7.2.1 数组的声明 数组是一种数据结构,它包含一系列同类型的元素.数组通过声明内部元素类型,并随后紧跟着一对中括号来定义一个数组变量.举个例子,假如你要定义整型数组,你可能会像这么写: int[] myArray; [3]7.2.2 数组的初始化 myArray = new int[4]; 1.变量m…
[1]4.2 继承的类型 1.C#不支持类的多继承,但它支持一个接口继承自多个接口. 2.单继承:单继承允许一个类继承自另外一个基类,C#支持. 3.多级继承:多级继承允许创建一个类继承自它的父类,而父类又继承自它的爷爷类,多级继承会是一个庞大的谱系结构.C#支持这一点. 4.接口继承:一个接口继承自另外一个接口,这里也允许一个接口继承自多个接口. [2]4.2.2 结构和类 1.struct本身不支持继承,但它们可以支持接口的继承. 2.struct和class之间的区别: struct总是派…