zoukankan      html  css  js  c++  java
  • NET基础课-- 类型基础(NET之美)

    1.类型:值类型  引用类型。

      分类依据:类型在内存的分配方式。值类型在堆栈,引用类型在托管堆。

      名词:栈--所有变量都会被分配在栈上,只不过值类型直接含有数据,引用类型含有一个指向托管堆对象的地址。

             含有一个堆上对象的地址的变量叫变量指向此对象或变量引用此对象

      值类型:简单类型(基类库类型别名) int  byte等     

                声明一个int类型实际是声明一个system.int32的结构类型变量,此变量包含了值类型(此处为结构体)中所有字段

                结构   枚举    

      引用类型:类  委托 接口等

    2.变量初始化问题

    public struct Point
        {
            public int x;
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                Point p;//结构类型变量本身就是一个实例
                Console.WriteLine(p.x);//编译器提示可能引用了未赋值的字段x   应该在此之前加p.x=10;
                Console.ReadKey();
            }
        }

      但是另外一种情况  直接通过并打印出0.注意区别。原因是类在初始化时字段也会进行初始化

     public class Point
        {
            public int x;
        }
    
        class Program
        {
            static void Main(string[] args)
            {
                Point p = new Point();//注意这里  一定先初始化,否则编译器提示使用未赋值的局部变量
                Console.WriteLine(p.x);
                Console.ReadKey();
            }
        }

    3.未将对象引用设置到对象的实例,见如下例子。原因是:a是一个对象引用,没有new过即没有指向任何实际对象。

    object a = null;
     Console.WriteLine(a.ToString());
  • 相关阅读:
    CodeForces1152CNeko does Maths
    π的计算公式
    IFS变量对加双引号和不加双引号变量的区别对待
    各种距离
    ADO.NET Data Service 二 绑定数据类
    向客户端注入JavaScript代码
    Ajax ModelPopu and Progress 示例学习
    Sliverlight 入门教程七
    (牛人莫入)Jquery plugin 多文件上传
    自定义控件的验证使用
  • 原文地址:https://www.cnblogs.com/tiantianle/p/4868820.html
Copyright © 2011-2022 走看看