基础类型
- 值类型[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; }
}
}
