第二课:
.NET Framework主要有两个组件:公共语言运行库(CLR)和.NET Framework
   类库(FCL)。
CLR的作用:一、编译器。将exe或dll文件编译成二进制 二、管理对象。
.NET Framework类库:一系列命名空间,一系列类。
.NET 是两次编译一次运行。第一次通过语言编译器编译成一个非二进制的csc或dll文件叫做
   MSIL的中间语言加上一些元数据,点击exe或调用dll文件时才会发生第二次
   编译,通过JIT或Ngen编译成机器代码。注意不同的语言有不同的编译器。JIT也有好几个,不区分语言,
   区分计算机的结构。
JIT与Ngen的不同:JIT在运行过程中执行从MSIL到机器语言,一次编译一个方法,在内存中保存。而
   Ngen在运行之前从MSIL到机器语言,一次编译一个程序集,以文件形式保存。
第三课:
Console.Read();一个一个的读,且返回int型。Console.ReadLine();读一行。
Console.Beep();会让计算机发出蜂鸣声。
Console.BackgroundColor=ConsoleColor.Blue;设置背景颜色。
Console.ForegroundColor=ConsoleColor.Red;设置前景色。
第四课:
const int i=10;定义常量。
int.parse("str"),把string类型转换为int.
namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入你的年龄:");
            string age = Console.ReadLine();
            Console.WriteLine("你是{0}年出生的!",2011-int.Parse(age));
            Console.ReadLine();
        }
    }
}
convert.……转换类型:int i=Convent.ToInt32(true);把bool类型转换为int类型。
readonly int k=30;除了初始化和在构造函数中外其它不可改变。但是const在构造函数中也不行。
第五课:
string是引用类型。值类型在线程堆栈中,引用类型在托管堆中。
所有的值类型都是结构体,所有的引用类型都是class类.
装箱是把值类型转换为引用类型,拆箱是把引用类型转换为值类型。
装箱:int i=10;object o=i;
拆箱:int j=(int)o;
第六课:
结构体是一种值类型,用来封装小型变量的类型。用struct定义。
结构体可以包含构造函数,常量,字段,方法,属性,索引器,运算符,事件和嵌套类型。
class Program
    {
        static void Main(string[] args)
        {
            myPoint mp = new myPoint();
            mp.x = 10;
            mp.y = 20;
            mp.z = 10;
            myPoint mp1 = new myPoint();
            mp1.x = 20;
            mp1.y = 20;
            mp1.z = 20;
            line(mp, mp1);
            Console.WriteLine(mp .x );
            Console.ReadLine();
        }
        public static void line(myPoint p1, myPoint p2)
        {
            p1.x = 9999;
        }
      
    }
    struct myPoint
    {
        public float x;
        public float y;
        public float z;
    }
结构的特点:
  1.结构是值类型,而类是引用类型。
  2.与类不同,结构的实例化可以不使用new运算符。
  3.结构可以声明构造函数,但它们必须带参数。
  4.一个结构不能从另一个结构或类继承,而且不能作为一个类的基类。
     所有结构都直接继承自System.ValueType,后者继承自System.Object。
  5.结构可以实现接口。
  6.结构可用作为null的类型,因而可向其赋Null值。
结构中不能包含显示的无参数构造函数。
class Program
    {
        static void Main(string[] args)
        {
            myPoint mp = new myPoint(2);
            Console.ReadLine();
        }
      
      
    }
    struct myPoint
    {
        public myPoint(int i)
        {
            Console.WriteLine("i的数值:"+i );
        }
实现接口:
 class Program
    {
        static void Main(string[] args)
        {
            myPoint mp = new myPoint(2);
            mp.Method();
            Console.ReadLine();
        }
      
      
    }
    struct myPoint:jiekou
    {
        public myPoint(int i)
        {
            Console.WriteLine("i的数值:"+i );
        }
        public void Method()
        {
            Console.WriteLine("我的方法");
        }
    }
    interface jiekou
    {
        void Method();
    }
结构体为NULL类型时:必须加?。
例:MyPoint? mp=new MyPoint();
    mp=null;
枚举:enum来定义。
 class Program
    {
        static void Main(string[] args)
        {
            MyEumy my = MyEumy.你 ;
            my = MyEumy.他;
            Console.WriteLine(my);
            Console.ReadLine();
        }
      
      
    }
    enum MyEumy
    {
        你,
        我,
        他
    }
第七课:
标示符:用户编程时用的名字,代表特定的含义。
关键字:对编译器具有特殊意义的预定义的保留标识符。