前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深入.NET数据类型(1)

深入.NET数据类型(1)

作者头像
房上的猫
发布2018-03-14 12:31:44
6210
发布2018-03-14 12:31:44
举报
文章被收录于专栏:个人随笔

一.值类型和引用类型

  所有的值类型和引用类型的引用都存在“栈”中

  1.值类型

    命名空间:System.ValueType

    值类型数据储存所在的内存区域成为栈

    值类型主要包括基本数据类型和枚举类型,结构

    值类型的赋值原理:

      在栈上复制的真实值

    实例代码:

代码语言:javascript
复制
            //张浩和李明去年身高都是170cm,今年李明长到了180cm,张浩没有变化,
            //输出去年和今年两人身高
            int zhheight = 170;
            int lmheigt = zhheight;
            Console.WriteLine("去年张浩身高是{0}\t李明的身高是{1}", zhheight, lmheigt);
            lmheigt = 180;
            Console.WriteLine("今年张浩身高是{0}\t李明的身高是{1}", zhheight, lmheigt);         

  2.引用类型

    命名空间:System.Onject

    引用类型主要包括数组,类和接口,字符串等

    储存在栈和堆中

    堆上储存的真实对象本身真实对象的属性

    示例代码:

代码语言:javascript
复制
        int[] zhArray={170,60};
           int[] lmArray = zhArray;
            Console.WriteLine("去年张浩身高是{0},体重是{1}\t李明的身高是{2},体重是{3}", zhArray[0],zhArray[1], lmArray[0],lmArray[1]);
            Console.WriteLine("================我是高贵的分割线====================");
            lmArray[0] = 180;
           lmArray[1] = 70;
            Console.WriteLine("今年张浩身高是{0},体重是{1}\t李明的身高是{2},体重是{3}", zhArray[0], zhArray[1], lmArray[0], lmArray[1]);






        //解决:

        int[] zhArray = { 170, 60 };
            int[] lmArray = new int[2];
            for (int i = 0; i < zhArray.Length; i++)
            {
                lmArray[i] = zhArray[i];
            }
            Console.WriteLine("去年张浩身高是{0},体重是{1}\t李明的身高是{2},体重是{3}", zhArray[0], zhArray[1], lmArray[0], lmArray[1]);
            Console.WriteLine("================我是高贵的分割线======================");
           
            lmArray[0] = 180;
            lmArray[1] = 70;
            Console.WriteLine("今年张浩身高是{0},体重是{1}\t李明的身高是{2},体重是{3}", zhArray[0], zhArray[1], lmArray[0], lmArray[1]);

  3.细分值类型和引用类型

类别

描述

值类型

基本数据类型

整型:int

&长整型:long

浮点型:float 双精度:double

字符型:char

波尔型:bool

枚举类型

枚举:enum

结构类型

结构:strut

引用类型

基类:System.Object

字符串:string

自定义类:class

接口

接口:interface

数组

数组:int[],string[]

二.结构

  1.定义:

    语法:

代码语言:javascript
复制
         访问修饰符 struct 结构名
      {
        //结构体
      }                

      特点:

      结构中可以有字段,也可以有方法

      定义时,结构中的字段不能被赋初值

    示例代码:

代码语言:javascript
复制
 //定一个自己的结构体
    public struct MyPointer
    {

        //成员 属性   结构体的成员变量不能有初值
        private int age;

        public int Age
        {
            get { return age; }
            set { age = value; }
        }
        //结构体中可以定义方法
        public void show() 
        {
           
        }

    }

  2.使用

    可以不用new。直接定义结构的对象即可

    声明结构的对象后,必须给结构的成员赋初值

    示例代码:

代码语言:javascript
复制
     static void Main(string[] args)
        {
            //使用结构体
            MyPointer pointer=new MyPointer();
            pointer.Age = 20;
            pointer.show();
        }

  3.使用经验

    不推荐使用(结构用得越多所消耗的存储空间也越多)

三.构造函数

   示例代码:

代码语言:javascript
复制
  public  class Player
    {
   //无参
        private Player() 
        { 
            //归类:方法(方法)/函数 (面向过程)
        }
        //有参
        public Player(string name)
        {

            //归类:方法(方法)/函数 (面向过程)
        }
    }    
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档