《C#图解教程》读书笔记3-4章——类型、存储、变量和类基础
2009-08-24 23:19
344 查看
这本书讲解C#语言十分详细,我将其中的重要内容整理成条款,以备忘。
1. C#程序就是一组类型声明,命名空间是一种把相关的类型声明分组并且命名的方法,所以既然程序是一组相关的类型声明,那么通常会把程序声明在创建的命名空间内部。
2. C#提供了15种预定义类型,包括13种简单类型和2种非简单类型,所有预定义类型都由全小写字母组成,它们会被直接映射到.NET中相应的类型(这些类型是首字母大写的),其实C#中的类型名称就是.NET类型的别名,另外:与C不C++同,在C#中的数值类型不具有布尔意义。
3. 程序运行时,它的数据必须存储在内存中。堆是一块内存区域,在堆里可以分配大块的内存用于存储类型的数据。堆中的内存可以以任意顺序存入和移除。一个数据项所需内存的大小、存储位置、以及如何存储都依赖于该数据项的类型。
4. 数据的类型决定了对象在内存中的存储位置——栈或堆。类型被分为两种:值类型和引用类型,值类型只需要一段单独的内存,用于存储实际的数据;引用类型需要两块内存:第一段存储实际的数据(对象本身),它总是位于堆中。第二段是一个引用(对象的引用),指向数据在堆中的存放位置。
5. 对于一个引用类型,它的实例的数据部分始终存放在堆里,无论这些数据是值类型还是引用类型,抑或是引用类型的引用部分。
6. 变量是一个名称,表示程序执行时存储在内存中的数据。无初始化语句的局部变量有一个未定义的值,在未赋值之前不能使用,如果未赋值就使用会导致编译错误。
7. 某些类型的变量如果在声明时没有初始化语句,则会被自动设为默认值,如:类字段、结构字段、数组元素,而另一些则不能,如:局部变量和参数。
8. 类是一个能存储数据并执行代码的数据结构,是逻辑相关的数据和函数的封装,通常代表真实世界中的或概念上的事物。一个C#类中可以有任意数目的数据成员和函数成员,成员可以是下面成员类型的任意组合:
常量和索引不能声明为静态的。
9. 类成员可以在类主体内部以任何顺序声明,成员的声明完全可以引用另一个在后面的类声明中才定义的成员,所有的字段都要在类型声明内部声明。
10. 字段初始化是声明的一部分,用来初始化的值必须是编译期可决定的,如果没有初始化语句,字段的值会被编译器设为默认值,即:数值类型默认值为0,bool型是false,引用类型为null。(C++中不允许初始化类的成员变量)
11. 当方法被调用时,它执行自己所含的代码,然后返回到调用它的代码,并返回零到多个值到它被调用的位置。
12. 声明类类型的变量所分配的内存是用来保存引用的,如果要为实际数据分配内存,需要使用new运算符,new运算符为任意指定类型的实例分配并初始化内存。
13. 私有成员只能从声明它的类的内部访问,其他的类不能看到或访问它们。私有访问是默认的访问级别。类内部的成员可以自由地相互访问。
1. C#程序就是一组类型声明,命名空间是一种把相关的类型声明分组并且命名的方法,所以既然程序是一组相关的类型声明,那么通常会把程序声明在创建的命名空间内部。
2. C#提供了15种预定义类型,包括13种简单类型和2种非简单类型,所有预定义类型都由全小写字母组成,它们会被直接映射到.NET中相应的类型(这些类型是首字母大写的),其实C#中的类型名称就是.NET类型的别名,另外:与C不C++同,在C#中的数值类型不具有布尔意义。
3. 程序运行时,它的数据必须存储在内存中。堆是一块内存区域,在堆里可以分配大块的内存用于存储类型的数据。堆中的内存可以以任意顺序存入和移除。一个数据项所需内存的大小、存储位置、以及如何存储都依赖于该数据项的类型。
4. 数据的类型决定了对象在内存中的存储位置——栈或堆。类型被分为两种:值类型和引用类型,值类型只需要一段单独的内存,用于存储实际的数据;引用类型需要两块内存:第一段存储实际的数据(对象本身),它总是位于堆中。第二段是一个引用(对象的引用),指向数据在堆中的存放位置。
5. 对于一个引用类型,它的实例的数据部分始终存放在堆里,无论这些数据是值类型还是引用类型,抑或是引用类型的引用部分。
6. 变量是一个名称,表示程序执行时存储在内存中的数据。无初始化语句的局部变量有一个未定义的值,在未赋值之前不能使用,如果未赋值就使用会导致编译错误。
7. 某些类型的变量如果在声明时没有初始化语句,则会被自动设为默认值,如:类字段、结构字段、数组元素,而另一些则不能,如:局部变量和参数。
8. 类是一个能存储数据并执行代码的数据结构,是逻辑相关的数据和函数的封装,通常代表真实世界中的或概念上的事物。一个C#类中可以有任意数目的数据成员和函数成员,成员可以是下面成员类型的任意组合:
数据成员——存储数据 | 函数成员——执行代码 | |
字段 | 方法 | 构造函数 |
常量 | 属性 | 析构函数 |
| 索引 | 事件 |
| 运算符 |
9. 类成员可以在类主体内部以任何顺序声明,成员的声明完全可以引用另一个在后面的类声明中才定义的成员,所有的字段都要在类型声明内部声明。
10. 字段初始化是声明的一部分,用来初始化的值必须是编译期可决定的,如果没有初始化语句,字段的值会被编译器设为默认值,即:数值类型默认值为0,bool型是false,引用类型为null。(C++中不允许初始化类的成员变量)
11. 当方法被调用时,它执行自己所含的代码,然后返回到调用它的代码,并返回零到多个值到它被调用的位置。
12. 声明类类型的变量所分配的内存是用来保存引用的,如果要为实际数据分配内存,需要使用new运算符,new运算符为任意指定类型的实例分配并初始化内存。
13. 私有成员只能从声明它的类的内部访问,其他的类不能看到或访问它们。私有访问是默认的访问级别。类内部的成员可以自由地相互访问。
相关文章推荐
- 《C#图解教程》第3章 类型、存储和变量 读书笔记
- C语言基础与提高(变量的存储类型 、 指针)
- c++基础:const,变量的作用域和生存期,存储类型
- 《C#图解教程》读书笔记之二:存储、类型和变量
- JavaSE7基础 char类型的变量存储一个汉字
- c 变量的存储类型auto等(基础知识)和c函数变量
- 【精】C语言之变量存储类型
- 在C中判断变量存储类型(字符常量/数组/动态变量)
- Python基础回顾之-变量和数据类型
- Python基础---数据类型和变量
- Javascript基础编程の变量、对象、数据类型及函数
- 【卷土重来之C#学习笔记】(三) 类型 存储和变量
- 变量的作用域和存储类型
- 《CLR via C#》读书笔记 之 类型基础
- 2 Java基础语法(关键字,标识符,注释,常量,进制转换,变量,数据类型,数据类型转换)
- 存储过程变量类型定义与表字段一致
- 从内存理解c语言中变量的存储类型
- 黑马程序员_C#基础之变量、数据类型、运算符
- Python学习笔记(一):基础语法、变量类型、运算符(快速入门篇)
- [基础]外部变量声明时,同时初始化变量的写法,包括Record类型。