C#学习笔记——值类型

using System;
 
namespace ValueType
{
    class Program
    {
        /// <summary>
        /// 类似Java中的“/**”注释
        /// </summary>
        /// <param name=" args"></param>
        static void Main(string[] args)
        {
            //C#有三种数据类型:值类型、引用类型和指针类型
            //值类型 直接存储在栈上面
            Console.WriteLine("C#有三种数据类型:值类型、引用类型和指针类型\n值类型 直接存储在栈上面\n\nint类型示例:" );
            int i = 0;//int只是别名,正式写法为System.Int32, 按F12可以查看定义区
            Console.WriteLine("i = " + i + ", i的类型:" + i.GetType());
            System. Int32 i2 = 0;
            Console.WriteLine("int i等价于System.Int32 i" );
            Console.WriteLine("i2 = " + i2 + ", i2的类型:" + i2.GetType());
            Console.WriteLine(i2);
 
            Console.WriteLine("\nboolean类型示例" );
            bool aBooleanType = true ;//变量命名方法同Java
            Console.WriteLine("输出布尔真:" + aBooleanType + ", 输出类型:" + aBooleanType.GetType());
 
            //struct类型,及调用方式
            Console.WriteLine("\nstruct类型示例:" );
            Person person = new Person();
            person.age = 10;
            Console.WriteLine("使用person.age = 10;来给person的age属性赋值" );
            Console.WriteLine("输出person.age:" + person.age);
 
            Console.WriteLine("\nenum类型示例:" );
            Console.WriteLine("Days.Monday = " + Days.Monday);
            var day = Days .Sunday;//定义任何类型的变量都可以用var来代替,这样就可以在定义时不去管它是什么类型,在用到的时候该变量会自动变成对应的类型
            Console.WriteLine("Days.Sunday = " + day);
            Console.WriteLine("Days.Sunday默认值:" + (int)day + "(int)");
            //枚举类默认是从0开始的,也可以通过设置Monday = 1来设置从1开始
            Console.WriteLine("Days1.Sunday = " + Days1.Sunday);
            Console.WriteLine("可以通过设置Monday = 1来设置从1开始\nDays1.Sunday默认值:" + (byte)Days1 .Sunday + "(byte)");
            Console.ReadLine();
 
            /*这些值类型都继承于System.ValueType,System.ValueType又继承于System.Object类
            System.Object所有的类都会继承于System.Object*/
        }
       
        /*struct类示例
        用来打包封装一个小的数据集,在里面可以像class一样实现方法、事件。*/
        struct Person
        {
            //顺便介绍四大访问修饰符
            public int age;//public访问修饰符 对外可见到
            public string name;//private访问修饰符
            public string firstName;//internal访问修饰符 命名空间内可见
            public string lastName;//protected访问修饰符 只有其继承类可见
        }
 
        /*enum枚举类型示例
        用来限定变量的一个取值范围
        例如这里限定了天这个变量只可能有周一到周日这七个值*/
        enum Days { Monday, Tuesday, Wenesday, Thursday, Friday, Saturday, Sunday} //默认是整数类型的,也可以在定义时加入":"改变它的类型,例如改成byte类型:
        enum Days1 : byte { Monday = 1, Tuesday, Wenesday, Thursday, Friday, Saturday, Sunday } //默认是从0开始的,也可以通过设置Monday=1来设置从1开始
    }
}

执行结果

posted @ 2016-03-30 18:09  CrazyBun.apk  阅读(123)  评论(0编辑  收藏  举报