C# - 数据类型

 基础类型
  •  值类型[Value types] - 布尔型
 数据类型  描述  默认值
 bool  布尔值,True 或 False  False
  •  值类型[Value types] - 整数型
 数据类型  描述  默认值
 byte  8位无符号整数[0~255]  0
 int  32 位有符号整数类型[-2,147,483,648 到 2,147,483,647]  0
 long  64 位有符号整数类型[-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807]  0L
 sbyte  8 位有符号整数类型[-128 到 127]  0
 short  16 位有符号整数类型[-32,768 到 32,767]  0
 uint  32 位无符号整数类型[0 到 4,294,967,295]  0
 ulong  64 位无符号整数类型[0 到 18,446,744,073,709,551,615]  0
 ushort  16 位无符号整数类型[0 到 65,535]  0
  •  值类型[Value types] - Char型
 数据类型  描述  默认值
 char  16 位 Unicode 字符[U +0000 到 U +ffff]  '\u0000'
  •  值类型[Value types] - 浮点型
 数据类型  描述  默认值
 decimal  128 位精确的十进制值,28-29 有效位数[(-7.9 x 1028 到 7.9 x 1028) / 100 到 28]  0.0M
 float  32 位单精度浮点型[-3.4 x 1038 到 + 3.4 x 1038]  0.0F
 double  64 位双精度浮点型[(+/-)5.0 x 10-324 到 (+/-)1.7 x 10308]  0.0D
  •  引用类型(Reference types)
 数据类型  描述  默认值
 object  对象(Object)类型  Null
 dynamic  动态(Dynamic)类型  Null
 string  字符串(String)类型  Null
  •  时间类
 数据类型  描述  默认值
 DateTime  日期类型  0001-01-01T00:00:00
 单问号?  -> 可空类型 

 ? 单问号用于对 int、double、bool 等无法直接赋值为 null 的数据类型进行 null 的赋值,意思是这个数据类型是 Nullable 类型的。

int? i = 3; -> Nullable<int> i = new Nullable<int>(3);
int i; //默认值0
int? ii; //默认值null
 双问号??  ->  合并运算符

 double? num1 = null;
 double? num2 = 3.14157;
 double num3;
 num3 = num1 ?? 5.34;      // num1 如果为空值则返回 5.34

 代码及结果

 

using System;
using System.Collections.Generic;
using System.Text;

namespace BasicsDataType
{
    /// <summary>
    /// 数据类型
    /// </summary>
    public class BasicsDataTypeInfo
    {
        /*----------------------------------------------- 值类型[Value types] ----------------------------------------------------------*/

        /*---------------------------- 布尔型 -------------------------*/
        /// <summary>
        /// 布尔型[True / False] 默认值[False]
        /// </summary>
        public bool BBool { get; set; }

        /*---------------------------- 整数型 -------------------------*/
        /// <summary>
        /// 8位无符号整数[0~255] 默认值[0]
        /// </summary>
        public byte BByte { get; set; }

        /// <summary>
        /// 32 位有符号整数类型[-2,147,483,648 到 2,147,483,647] 默认值[0]
        /// </summary>
        public int BInt { get; set; }

        /// <summary>
        /// 64 位有符号整数类型[-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807] 默认值[0L]
        /// </summary>
        public long BLong { get; set; }

        /// <summary>
        /// 8 位有符号整数类型[-128 到 127] 默认值[0]
        /// </summary>
        public sbyte BSByte { get; set; }

        /// <summary>
        /// 16 位有符号整数类型[-32,768 到 32,767] 默认值[0]
        /// </summary>
        public short BShort { get; set; }

        /// <summary>
        /// 32 位无符号整数类型[0 到 4,294,967,295] 默认值[0]
        /// </summary>
        public uint BUInt { get; set; }

        /// <summary>
        /// 64 位无符号整数类型[0 到 18,446,744,073,709,551,615] 默认值[0]
        /// </summary>
        public ulong BULong { get; set; }

        /// <summary>
        /// 16 位无符号整数类型[0 到 65,535] 默认值[0]
        /// </summary>
        public ushort BUShort { get; set; }

        /*---------------------------- Char型 -------------------------*/
        /// <summary>
        /// 16 位 Unicode 字符[U +0000 到 U +ffff] 默认值['\u0000']
        /// </summary>
        public char BChar { get; set; }

        /*---------------------------- 浮点型 -------------------------*/
        /// <summary>
        /// 128 位精确的十进制值,28-29 有效位数[(-7.9 x 1028 到 7.9 x 1028) / 100 到 28] 默认值[0.0M]
        /// </summary>
        public decimal BDecimal { get; set; }

        /// <summary>
        /// 64 位双精度浮点型[(+/-)5.0 x 10-324 到 (+/-)1.7 x 10308] 默认值[0.0D]
        /// </summary>
        public double BDouble { get; set; }

        /// <summary>
        /// 32 位单精度浮点型[-3.4 x 1038 到 + 3.4 x 1038] 默认值[0.0F]
        /// </summary>
        public float BFloat { get; set; }

        /*----------------------------------------------- 引用类型(Reference types) ----------------------------------------------------------*/

        /// <summary>
        /// 对象(Object)类型 默认值[null]
        /// </summary>
        public object BObject { get; set; }

        /// <summary>
        /// 动态(Dynamic)类型 默认值[null]
        /// </summary>
        public dynamic BDynamic { get; set; }

        /// <summary>
        /// 字符串(String)类型 默认值[null]
        /// </summary>
        public string BString { get; set; }

        /*----------------------------------------------- 日期类型 ----------------------------------------------------------*/

        /// <summary>
        /// 日期类型 默认值[0001-01-01T00:00:00]
        /// </summary>
        public DateTime BDateTime { get; set; }
    }
}

posted @ 2021-08-12 11:06  gygtech  Views(132)  Comments(0Edit  收藏  举报