初学c#读书笔记(三)--类型、存储和变量A

1、c#程序是一组类型声明

     如果广泛的描述c和c++程序代码的特征,可以说c程序时一组函数和数据类型,c++程序是一组函数和类,然而c#程序时一组类型声明。
     c# 程序或DLL的源代码是一组类型声明,
     对于可执行程序,类型声明中必须有一个包含Main方法的类,
     命名空间是一种把相关的类型声明分组并命名的方法,既然程序时一组相关的类型声明,那么通常会把程序声明在创建的命名空间内部。

2、类型是一种模板

     可以把类型想象成一个用来创建数据结构的模板。模板本身并不是数据结构,但它详细说明了由该模板构造的对象的特征。
     类型有以下元素定义:名称;用于保存数据成员的数据结构;一些行为和约束条件。

3、实例化类型

     通过实例化类型而创建的对象被称为类型的对象或类型的实例,
     在c#中每个数据项都是某种类型的实例,这些类型可以是语言自带的,也可以是FCL或其他类库提供的,也可以是程序员自定义的。

4、数据成员和函数成员

     数据成员:保存了与这个类的对象或类本身相关的数据。
     函数成员:定义类型的行为。(函数也可以叫成方法)

1 /// <summary>
2 /// 学员信息类
3 /// </summary>
4 class StudentInfo
5 {
6 /// <summary>
7 /// 学员姓名(数据成员)
8 /// </summary>
9 public string Name;
10
11 /// <summary>
12 /// 学员性别(数据成员)
13 /// </summary>
14 public string Sex;
15
16 /// <summary>
17 /// 所在班级名称(数据成员)
18 /// </summary>
19 public string ClassName;
20
21 /// <summary>
22 /// 学员信息(函数成员)
23 /// </summary>
24 /// <returns>包含学员信息的字符串</returns>
25 public string ShowInfo()
26 {
27 return "姓名:" + Name + "\n"
28 + "性别:" +Sex + "\n"
29 + "班级:" + ClassName;
30 }
31 }

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类型除外,它们不含有命名成员。

posted @ 2010-05-03 16:21  onecopper  阅读(314)  评论(0编辑  收藏  举报