首页  :: 联系 :: 订阅 订阅  :: 管理

c#学习摘要1

Posted on 2007-07-17 14:29  。。。  阅读(138)  评论(0)    收藏  举报
C#中的数据类型

学过了某门C系语言(C/C++/JAVA 等,具体的相同的一些概念就不一一介绍)
-------
简单的数据类型(Simple types)
     它包括了整数类型,布尔类型,字符类型,实数类型
整数类型:
    短字节型            (sbyte)    有符号的8位整数        -128~127
    字节型            (byte)        无符号的8位整数        0~255
    短整型            (short)    有符号的16位整数        -32768~32767
    无符号短整型        (ushort)    无符号的16位整数        0~65535
    整型            (int)        有符号的32位整数        ...
    无符号整型        (uint)        ...            ...
    长整型            (long)        ...            ...
    无符号长整型        (ulong)    ...            ...

布尔类型:
    很好理解,就只有true 或者 false 除了这两个值,转换成其他的值都是错的,例如:bool a=1;(错误)

实数类型:
    浮点类型的
    十进制类型: 主要方便我们在金融和货币方面的计算,是一种高精度的,128位的数据类型,
            范围比double小,但更精确(28~29位)!它不是以小数点来表示的,而是以位数!!
            定义(例如):decimal d_value=10.0m(不能省略m,否则被当作double)

字符类型:
    注意:在C,C++字符是作为整数的一部分,可以进行赋值和运算!但在C#中这样是不可以的!

-------

结构类型:
    struct phoneBook
    {
      public string name;
      public string phone;
      public string address;
   
    }
    phoneBool p1;


枚举类型:
    枚举类型所能取的值只能是long ,int ,short,byte 等整型

----
引用类型:
    C#中的另一大数据类型,“引用”这个词在这里的含义是,该类型的变量不直接存储所包含的值!
    而是指向它所要存储的值。也就是说,引用类型存储实际数据的引用值的地址。
    C#中的引用类型有4种:
        类
        代表
        数组
        接口
   
--------
装箱(boxing)和拆箱(unboxing)
    这个机制使得在c#类型系统中,任何值类型、引用类型和object(对象)类型之间进行转换,我们
    称这种转化为绑定连接。简单说,有了装箱和拆箱概念,对任何类型的值来说最终我们都可以看作
    是object类型。

    装箱转换:
        是将一个值类型隐式地转换成一个object类型,或者把这个值类型转换成一个被该值类型
        应用的接口类型(interface-type).把一个值类型的值装箱,也就是创建一个object实例
        并将这个值赋值给这个object。比如:
        int i=10;
        object obj=i;//object obj=object(i);

        例子:
        using System;

        class test
        {
        public static void Main()
        {
        int i=10;
        object obj=i;
        if(obj is int)
            Console.WriteLine("The Value of i is boxing");
        i=20;
        Console.WriteLine("int:i={0}",i);
        Console.WriteLine("object:obj={0}",obj);
        Console.ReadLine();
       
   
        }
        }

        结果:被装箱的类型的值是作为一个拷贝赋给对象的!
   
    ----
    拆箱转换:
        是将一个对象类型显式地转换成一个值类型,或者将一个接口类型显式地转换成一个
        执行该接口的值类型。
        拆箱过程分2步:
            首先,检查这个对象实例,看它是否为给定的值类型的装箱值。然后,
            把这个实例的值拷贝给值类型的变量。
        比如:
            int i=10;
            object obj=i;
            int j=(int)obj;

注意:装箱和拆箱转换必须遵循类型兼容原则。
------------------------------------------

变量和常量
-----
C#中 变量命名与C语言不同了,它只能以字母开头!有些例外的就是以@开头的,例如:char @ch;//合法

在c#中,变量: 静态变量、非静态变量、数组元素、值参数、引用参数、输出参数、局部变量