C#高级编程9-第3章 对象与类型】的更多相关文章

第三章 对象和类型 本章的内容: 类和结构的区别 类成员 按值和按引用传送参数 方法重载 构造函数和静态构造函数 只读字段 部分类 静态类 Object类,其他类型都从该类派生而来 3.1 类和结构 类和结构都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法 结构和类的区别是他们在内存中的存储方式.访问方式(类是存储在堆上的引用类型,而结构是存储在栈上的值类型)和他们的一些特征(如结构不支持继承).较小的数据类型使用结构可提高性能.但在语法上,结构和类非常相似,主要的区别是使用…
读<C#高级编程>第1章 .Net机构体系笔记 网红的话:爸爸说我将来会是一个牛逼的程序员,因为我有一个梦,虽然脑壳笨但是做事情很能坚持. 本章主要是了解.Net的结构,都是一些概念,并没有可操作的代码.但是这些概念有联系,但深刻理解必须要有全局思维和实践基础. 目录: C#与.Net的关系 公共语言运行库(CLR) 中间语言 程序集 .NET Framework类 名称空间(命名空间):避免类名冲突的一种方式. 用C#创建.Net应用程序(介绍一堆产品概念) C#在.Net企业体系结构中的重…
C#高级编程9 第16章 错误和异常 了解这章可以学会如何处理系统异常以及错误信息. System.Exception类是.NET运行库抛出的异常,可以继承它定义自己的异常类. try块代码包含的代码是可能发生异常的代码catch块代码包含发生异常之后处理错误情况finally块代码用于清理资源以及无论是否出现异常都需要处理的功能代码 对于系统异常和自定义异常都来自Exception类,可以定义多个catch块,处理不同异常的错误. System.Exception类的Data属性可以提供异常的…
C#高级编程9 第18章 部署 使用 XCopy 进行部署 本主题演示如何通过将应用程序文件从一台计算机复制到另一台计算机来部署应用程序. 1.将项目中生成的程序集复制到目标计算机,生成的程序集位于项目中的bin\debug目录下 2.在开发计算机上找到vcredist_x86.exe复制到目标计算机 3.在目标计算机运行vcredist_x86.exe,安装所需C++运行库 4.应用程序运行 使用ClickOne进行部署 百度经验使用ClickOne发布Windows应用程序 工具/原料  …
C#高级编程9 第17章 使用VS2013 编辑定位到 如果默认勾选了这项,请去掉勾选,因为勾选之后解决方案的目录会根据当前文件选中. 可以设置项目并行生成数 版本控制软件设置 所有文本编辑器行号显示 启用编辑继续 收集调试信息,将影响性能 Code Compare这是扩展与更新里面的插件,安装之后才会显示,用来比较代码是否相同 nuget包源配置,提供了nuget更新的数据源 目标框架的设置影响到项目基础框架的引用,不同目标框架的项目之间不能互相引用. 不安全代码和警告等级可能会影响生成 特定…
(一)类和结构 类和结构实际上都是创建对象的模板,每个对象都包含数据,并提供了处理和访问数据的方法. 类和结构的区别:内存中的存储方式.访问方式(类是存储在堆上的引用类型,结构是存储在栈的值类型)和它们的一些特征(如结构不支持继承). 较小的数据建议使用结构来提高性能. 创建类使用 class 关键字 例子: class ClassTest { } 创建结构使用 struct 关键字 例子: struct StructTest { } 对于类和结构,都是用关键字new来声明实例:这个关键字创建对…
变量的初始化和作用域 C#的预定义数据类型 流控制 枚举 名称空间 预处理命令 C#编程的推荐规则和约定 变量的初始化和作用域 初始化 C#有两个方法可以一确保变量在使用前进行了初始化: 变量是字段,如果没有显式初始化,创建这些变量时,其默认值为0. 方法的局部变量必须在代码中显式初始化,之后才能在语句中使用,如果在初始化之前使用了他的值,报错. 作用域 如果局部变量作用域冲突,报CS0136错. 字段与局部变量冲突,隐藏掉字段,访问被隐藏的实例字段用this关键字,静态字段使用object.f…
C#高级编程9 内存管理和指针 后台内存管理 1) 值数据类型 在处理器的虚拟内存中有一个区域,称为栈,栈存储变量的浅副本数据,通过进入变量的作用域划分区域,通过离开变量的作用域释放. 栈的指针指向栈保留的内存块的末尾,栈是向下填充的,比如说内存是4g,,那么就从4g开始直至占用0g,每一个区域的划分都由下一个空闲存储单元. 2) 引用数据类型 变量的生存期是互相嵌套的,一般情况下变量的生存期在一个方法中定义会在一个方法外结束,不过有时候需要在方法外数据仍是可用的,这时候需要用到引用类型. 引用…
第 2 章 对象及变量的并发访问 本章主要内容 synchronized 对象监视器为 Object 时的使用. synchronized 对象监视器为 Class 时的使用. 非线程安全是如何出现的. 关键字 volatile 的主要作用. 关键字 volation 与 synchronized 的区别及使用情况. 2.1 synchronized 同步方法 “非线程安全”其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是“脏读”,也就是取到的数据其实是被更改过的.而“…
面向对象编程(oop) 1.1抽象的进步 所有编程语言的最终目的都是提供一种“抽象”方法.   难点是 在机器模型(位于“方案空间”)和实际解决问题模型(位于“问题空间”)之间,程序员必须建立起一种联系.造成程序员代码很难编写.因此造成的副作用便是一门完善的“编程方法”学科. 面向对象的程序设计在此基础上则可以利用一些工具表达问题空间中的元素.因为这种表达非常普通,所以不必受限于特定类型的问题. 将问题空间中的元素以及它们在方案空间的表示物称为“对象”(object). 编程对象的五大共同特征:…