1. 概述 本章内容包括 C#5中如何更好的创建类型以及如何扩展现有类型. 2. 主要内容 2.1 如何选择类型 C#类型系统包括三种类型:值类型.引用类型.指针类型.(指针类型用于非托管代码,很少使用.) ① 创建枚举类型(enums) 合理使用枚举类型 可以提高代码的可读性和可维护性. ② 值类型 还是 引用类型 使用值类型的三个推荐的原则: a. 对象的体积小.  b. 对象逻辑上不可变.  c. 使用中会生成很多对象. * 结构类型(struct) 不能自己定义空构造器,不适用继承系统.…
1. 概述 本章介绍 值类型的装箱拆箱.类型转换 以及 C#4.0新推出的 dynamic 关键字. 2. 主要内容 2.1 装箱和拆箱 2.2 类型转换 有四种方式可以实现类型转换: ① 隐式转换:编译器允许的,类型安全的转换.无需特殊的标记符号,编译器直接转换. ② 显式转换:无法隐式转换,可能会丢失精度的情况,需要用类型符号来强制转换. ③ 自定义转换 class Money { public Money(decimal amount) { Amount = amount; } publi…
转换使表达式可以当做一个明确的类型来加以处理.转换使得所给定类型的表达式以不同类型来处理,或使得没有某个类型的表达式获得该类型.转换可以是显式或隐式的,而这决定了是否需要显式地强制转换.比方说,从类型 int 向类型 long 的转换是隐式的,所以 int 类型表达式可以隐式地当做 long 的来处理.反过来转换,从类型 long 转换为 int 是显式的,需要显式的强制转换(explicit cast). int a = 123; long b = a; // 从 int 到 long 隐式转…
<C++Primer>第五版习题答案--第六章[学习笔记] ps:答案是个人在学习过程中书写,可能存在错漏之处,仅作参考. 作者:cosefy Date: 2020/1/16 第六章:函数 练习6.2: 返回类型错误 无返回类型 形参名字应该不同 函数体需要用花括号包含起来 练习6.4: 实现:编写函数,使得用户输入一个整数,main函数调用函数得到阶乘. #include<iostream> using namespace std; int fact(int n) { int r…
1. 概述 本章包括 设计和实现接口.创建和使用基类 以及 使用.net类库提供的标准接口. 2. 主要内容 2.1 设计和实现接口 一个接口包含公共的方法.属性.事件.索引器.类和结构都可以实现接口. interface IExample { string GetResult(); int Value { get; set; } event EventHandler ResultRetrived; int this[string index] { get; set; } } class Exa…
在这章中,我们将学习如何创建一个管理图片的新实体,如何使用HTML表单上传图片文件,并使用多对多关系将它们和产品关联起来,如何将图片存储在文件系统中.在这章中,我们还会学习更加复杂的异常处理,如何向模型添加自定义错误,然后向用户显示错误信息.在本章使用的产品图片可以在Apress站点中的第6章的代码中获得. 注意:如果你想按照本章的代码编写示例,你必须完成第五章或者直接从www.apress.com下载第五章的源代码. 6.1 创建一个用于存储图片名称的实体 对于本项目,我们打算使用文件系统将图…
第六章 利用linux 文件系统权限文件访问 1.linux文件系统权限 文件的权限分为:  rwx  读/写/执行 ls -l  /home   查看/home下文件 ls -ld /home   查看/home文件夹权限 2.管理文件系统 符号法: chomod  whowhatwhich file who  : u用户 g组  o其他  a全部 what : +  -  = which: r  w  x 数值法: r=4  w=2 x=1 -rwxr-x--- = 750 例:  chmo…
第十六章.程序管理与 SE Linux 初探 在 Linux 系统当中:"触发任何一个事件时,系统都会将他定义成为一个程序,并且给予这个程序一个 ID ,称为 PID,同时依据启发这个程序的使用者与相关属性关系,给予这个 PID 一组有效的权限设置." 从此以后,这个 PID 能够在系统上面进行的动作,就与这个 PID 的权限有关了! 1.1).进程与程序 l 程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等), 为实体文…
******************第六章学习****************** 1.[文件与目录管理] 在所有目录下面都会存在的两个目录,分别是 "." 与 ".." 分别代表此层与上层目录的意思: 那么就有人会问了,在 / 根目录下,也有(上层目录)吗? 回答是的,只不过根目录的上一层(..)与根目录自己(.)是同一个目录. 在关于目录这一部分,涉及到一些基本指令: cd:change directory,变换目录 pwd:print work directo…
1. 概述 本章内容包括 如何选择合适的构建类型.创建和管理编译指令.管理程序数据文件(pdb)和指令. 2. 主要内容 2.1 构建类型 .net中默认的两种生成模式是 发布(Release)模式 和 调试(Debug)模式. 2.2 创建和管理编译指令 ① 预编译指令:C#中的预编译指令,用于在编译过程中调整逻辑. public void DebugDirective() {     #if DEBUG         Console.WriteLine(“Debug mode”);    …