• C#_02.12_基础二_.NET类型存储和变量


    C#_02.12_基础二_.NET类型存储和变量

    一、核心一句:C#程序是一组类型声明(留待后面慢慢体会,现在不是很理解,不强说了)

    二、数据类型:

    1、预定义了16种数据类型:

    其中13种简单数据类型,包括11种数值类型和2种非数值类型:

    数值类型:

    数据类型

    字节

    有无符号

    后缀

    默认值

    精确位数

    Sbyte:

    1

    =

    0

    0

    Byte:

    1

    =

    0

    0

    Short:

    2

    =

    0

    0

    Ushort:

    2

    =

    0

    0

    Int:

    4

    =

    0

    0

    Uint:

    4

    U

    0

    0

    Long:

    8

    L

    0

    0

    Ulong:

    8

    UL

    0

    0

    Float:

    4

    F

    0.0F

    7

    Double:

    8

    D

    0.0D

    15

    Decimal:

    16

    M

    0.0M

    28

    非数值类型:

    Bool:占一个字节,默认值是FALSE

     

    Char:占一个字节,默认值是x000

     

     

    3种非简单数据类型:

    String:相当于char型的数组:

    Object:是C#所有对象的基类;

    Dynamic:江湖传言这一种数据类型在IL里面object类型。经验证确实是object类型。与var的区别是:

    1、var能够使用智能感知,dynamic不行,写的时候使用var声明的变量可以使用 . 来方便书写,而是用dynamic声明的变量因为无法智能感知,所以不行。

    2、在编译的时候,var声明的变量是有进行类型检查的,而使用dynamic是没有的,一直到运行的时候才进行类型检查。

    个人对于dynamic的初步感觉:平常情况下不好用,因为是不能够智能感知的,因此在编写的时候可能出现所调用的方法不对之类的情况,又需要等到代码运行才能够检查出来。

     

    2、用户自定义类型(6种):

    类类型(class):

    结构类型(struct):

    数组类型(array):

    枚举类型(enum):

    委托类型(delegate):

    接口类型(interface):

     

    三、值类型与引用类型:

     值类型是存储在栈内存当中的,而引用类型是存储在堆内存当中的。一个引用类型不管是否包含值类型,都是存储在堆当中的。值类型和引用类型之间的存储的区别是:

    值类型是存储在栈当中的,只需要一段内存存储实际的数据;

    引用类型需要两端内存:一是堆当中的,是引用类型的实际数据,一段是在栈当中的,是存储指向引用类型实际数据的引用。

    #

    值类型

    引用类型

    预定义类型

    sbyte、   byte、     short、ushort、  int、      uint、
    long、    ulong、    float、double、  decimal、  bool、
              char

    string
    object
    dynamic

    自定义类型

    struct      enum

    class
    interface
    delegate
    array

    四、变量

    变量分为四种类型:

    变量类型

    描述

    是否自动赋值

    本地变量

    函数当中定义的变量,局部变量,不是类的成员

        否

    参数

    作为方法间传递的变量,不是类的成员

        否

    字段

    是类的成员

         是

    数组

    可是可不是类的成员,一般由同类型的变量组成

         是

    注:数组和字段(属性)才可以对未赋值的变量进行自动赋值

  • 相关阅读:
    自考新教材--p78
    自考新教材--p76_2
    自考新教材--p76_1
    自考新教材--p75
    自考新教材--p70
    自考新教材--p69
    以HTML5及其衍生技术为基础的B/S架构实时视频监控解决方案
    智能化安防视频监控行业发展是如何转变的?
    摄像头视频监控是如何与流媒体服务器云平台连接的?
    如何实现摄像头监控数据实时存储及传输?
  • 原文地址:https://www.cnblogs.com/heisehenbai/p/6848845.html
Copyright © 2020-2023  润新知