随笔分类 - C#高级编程第七版学习笔记
摘要:第八章委托,lamdbda表达式和事件委托是寻址方式的.net版本。委托是类型安全的类,它定义了返回类型和参数的类型。委托类不仅包含方法的应用,也可以包含对多个方法的引用。在C++中,函数指针只不过是一个指向内存位置的指针,它不是类型安全的。我们无法判断这个指针实际指向什么,像参数和返回类型等项就更无从知晓了Lamdbda表达式与委托直接相关。当参数是委托类型时,就可以使用Lambda表达式实现委托引用的方法。委托时是一种特殊的类型对象,其特殊之处在于,我们以前定义的所有对象都包含数据,而委托包含的只是一个或者多个方法的地址所以可以在定义类的任何相同地方定义委托,也就是说,可以在另一个类的内部
阅读全文
摘要:运算符移位运算符>成员对象访问运算符(用于对象和结构).索引运算符(用于数组和索引器)[]委托连接和删除运算符+—对象创建运算符new类型信息运算符sizeofistypeofas溢出异常控制运算符checkedunchecked间接寻址运算符[]名称空间别名限定符::空合并运算符??Checked和Unchecked运算符byteb=255;checked{b++;}Console.WriteLine(b.ToString());注意,Unchecked是默认行为。只有在需要把几行未检查的代码放在一个显式地标记为checked的大代码块中,才需要显式地使用Unchecked关键字使用C
阅读全文
摘要:继承的类型:实现类型:表示一个类型派生与一个基类型它拥有该基类型的所有成员字段和函数。接口继承:表示一个类型只继承了函数的签名,没有继承任何实现代码。C#支持单继承可以实现多个接口C#类都有一个基类,还可以有任意多个接口。结构不支持继承(结构不支持实现继承但支持接口继承)结构总是派生自System.ValueTpye它们可以派生自任意多个接口类总是派生自用户选择的另一个类,它们还可以派生自任意多个接口。虚函数把一个基类的函数声明为virtual就可以在任意派生类中重写该函数。也可以把属性声明为Virtual。对于虚属性或者重写属性语法与非虚属性相同只要在定义中加virtual即可隐藏方法如果签
阅读全文
摘要:类和结构类和结构实际上都是创建对象的模板,每个对象都包含数据,并且提供处理和访问数据的方法。类是存储在堆上的引用类型,结构式存储在栈上的值类型。较小的数据类型使用结构可以提高性能。对于类和结构都使用new关键字类声明实例。类类中的数据和函数称为类的成员类的成员总是实例成员除非用static显式的声明。
阅读全文
摘要:变量如果在一条语句中声明和初始化了多个变量,那么所有的变量都具有相同的数据类型Intx=10,y=20;变量使用前需要赋初始值声明不同类型的变量需要单独的语句。变量的初始化变量时类或者结构中的字段,如果没有显式的初始化,创建这些变量时,其默认值就是0.方法的局部变量必须在代码中显示的初始化,之后才能在语句中使用它们的值。C#中初始化应用类型的数据时需要使用new关键字。类型推断1.类型推断是使用var关键字2.变量必须初始化(否则编译器没有推断变量类型的依据)3.初始化器不能为空4.初始化器必须放在表达式中5.不能把初始化器设置成一个对象,除非在初始化其中创建了一个新的对象。6.声明的变量推断
阅读全文
摘要:前言COM:组件对象模型(ComponentObjectModelCOM)源自对象链接和嵌入(ObjectLinkingandEmbedding)OLE。DCOM:(DistributedCOM)分布式组件对象模型COM:几乎是左右组件通信方式的基础,实现了事物处理,消息传输服务,和对象池。Windows上的软件的通信几乎都是用COM实现。.NET能够提供现有COM组件包装器(wrapper),以便.NET组件之间的通信。.NET的优点1.面向对象编程2.优秀的设计3.语言无关性4.动态Web页面更好的支持5.高效的数据访问6.代码共享7.增强的安全性8.对安装没有任何影响9.web服务的支持
阅读全文

浙公网安备 33010602011771号