初学c#读书笔记(三)--类型、存储和变量A
2010-05-03 16:21
162 查看
1、c#程序是一组类型声明
如果广泛的描述c和c++程序代码的特征,可以说c程序时一组函数和数据类型,c++程序是一组函数和类,然而c#程序时一组类型声明。
c# 程序或DLL的源代码是一组类型声明,
对于可执行程序,类型声明中必须有一个包含Main方法的类,
命名空间是一种把相关的类型声明分组并命名的方法,既然程序时一组相关的类型声明,那么通常会把程序声明在创建的命名空间内部。
2、类型是一种模板
可以把类型想象成一个用来创建数据结构的模板。模板本身并不是数据结构,但它详细说明了由该模板构造的对象的特征。
类型有以下元素定义:名称;用于保存数据成员的数据结构;一些行为和约束条件。
3、实例化类型
通过实例化类型而创建的对象被称为类型的对象或类型的实例,
在c#中每个数据项都是某种类型的实例,这些类型可以是语言自带的,也可以是FCL或其他类库提供的,也可以是程序员自定义的。
4、数据成员和函数成员
数据成员:保存了与这个类的对象或类本身相关的数据。
函数成员:定义类型的行为。(函数也可以叫成方法)
5、与定义类型
简单类型:
11种数值类型:
整数类型:8bit(sbyte、byte)、16bit(short、ushort)、32bit(int、uint)、64bit(long、ulong)
浮点类型:decimal、float、double
非数值类型:一种Unicode字符类型char、一种布尔类型bool
两种非简单类型:Unicode字符数组string、所有其他类型的几类object
所有预定义类型都直接映射到底层的.NET类型:
名称 .NET框架类型
sbyte System.SByte
byte System.Byte
short System.Int16
ushort System.UInt16
int System.Int32
uint System.UInt32
long System.Int64
ulong System.UInt64
float System.Single
double System.Double
bool System.Boolean
char System.Char
decimal System.Decimal
object System.Object
string System.String
这里经常引申出一个问题,是用c#的类型名,还是直接使用.NET的类型名称呢?在《c#图解教程》不鼓励使用.NET的类型名称。在他人的博客中看到说CLR via C#中,Jeffrey Richter建议coding时,使用CLR默认的类型,也就是说,不要string,要String;不要int要Int32。两种说法都对,至少程序不会报错,我们姑且记着,通过自己的经验再做出抉择。
6、用户定义类型
类类型(class)、结构类型(struct)、数组类型(array)、枚举类型(enum)、委托类型(delegate)、接口类型(interface)
类型声明包括:
要创建类型的种类;
新类型的名称;
对类型中每个成员的声明,array和delegate类型除外,它们不含有命名成员。
如果广泛的描述c和c++程序代码的特征,可以说c程序时一组函数和数据类型,c++程序是一组函数和类,然而c#程序时一组类型声明。
c# 程序或DLL的源代码是一组类型声明,
对于可执行程序,类型声明中必须有一个包含Main方法的类,
命名空间是一种把相关的类型声明分组并命名的方法,既然程序时一组相关的类型声明,那么通常会把程序声明在创建的命名空间内部。
2、类型是一种模板
可以把类型想象成一个用来创建数据结构的模板。模板本身并不是数据结构,但它详细说明了由该模板构造的对象的特征。
类型有以下元素定义:名称;用于保存数据成员的数据结构;一些行为和约束条件。
3、实例化类型
通过实例化类型而创建的对象被称为类型的对象或类型的实例,
在c#中每个数据项都是某种类型的实例,这些类型可以是语言自带的,也可以是FCL或其他类库提供的,也可以是程序员自定义的。
4、数据成员和函数成员
数据成员:保存了与这个类的对象或类本身相关的数据。
函数成员:定义类型的行为。(函数也可以叫成方法)
/// <summary> /// 学员信息类 /// </summary> class StudentInfo { /// <summary> /// 学员姓名(数据成员) /// </summary> public string Name; /// <summary> /// 学员性别(数据成员) /// </summary> public string Sex; /// <summary> /// 所在班级名称(数据成员) /// </summary> public string ClassName; /// <summary> /// 学员信息(函数成员) /// </summary> /// <returns>包含学员信息的字符串</returns> public string ShowInfo() { return "姓名:" + Name + "\n" + "性别:" +Sex + "\n" + "班级:" + ClassName; } }
5、与定义类型
简单类型:
11种数值类型:
整数类型:8bit(sbyte、byte)、16bit(short、ushort)、32bit(int、uint)、64bit(long、ulong)
浮点类型:decimal、float、double
非数值类型:一种Unicode字符类型char、一种布尔类型bool
两种非简单类型:Unicode字符数组string、所有其他类型的几类object
所有预定义类型都直接映射到底层的.NET类型:
名称 .NET框架类型
sbyte System.SByte
byte System.Byte
short System.Int16
ushort System.UInt16
int System.Int32
uint System.UInt32
long System.Int64
ulong System.UInt64
float System.Single
double System.Double
bool System.Boolean
char System.Char
decimal System.Decimal
object System.Object
string System.String
这里经常引申出一个问题,是用c#的类型名,还是直接使用.NET的类型名称呢?在《c#图解教程》不鼓励使用.NET的类型名称。在他人的博客中看到说CLR via C#中,Jeffrey Richter建议coding时,使用CLR默认的类型,也就是说,不要string,要String;不要int要Int32。两种说法都对,至少程序不会报错,我们姑且记着,通过自己的经验再做出抉择。
6、用户定义类型
类类型(class)、结构类型(struct)、数组类型(array)、枚举类型(enum)、委托类型(delegate)、接口类型(interface)
类型声明包括:
要创建类型的种类;
新类型的名称;
对类型中每个成员的声明,array和delegate类型除外,它们不含有命名成员。
相关文章推荐
- 初学c#读书笔记(三)--类型、存储和变量B
- C类型和存储方式的语言变量
- C语言变量存储类型介绍
- 《C#图解教程》第3章 类型、存储和变量 读书笔记
- 不同存储类型的变量的声明、内部函数、外部函数
- C语言变量存储类型auto,static,extern,static extern,register
- C语言变量存储类型auto,static,extern,static extern,register .
- C 变量的存储类型
- 【转载】变量的存储类型
- 几种易混变量的存储类型及区别
- 【精】C语言之变量存储类型
- 存储过程中变量类型:number,pls_integer,small integer
- 变量的作用域和存储类型
- 变量的作用域和存储类型
- C变量和函数的存储类型
- C语言基础与提高(变量的存储类型 、 指针)
- 变量的存储类型
- C#图解教程读书笔记(第3章 类型、存储及变量)
- C变量及函数存储类型
- 在C中判断变量存储类型(字符常量/数组/动态变量)