标签:space EAP 对象类型 字符串 ogr 一个 派生 变化 对象
在C#中,变量分为一下几种类型
1 值类型
2 引用类型
3 指针类型
一 值类型
值类型是从类System.Valuetype中派生。值类型变量可以直接赋值,值类型直接包含数据。
比如bool、byte、char、decimal、double、float、int、long、sbyte(8位有符号整数类型)、short(16位有符号整数类型)、uint、ulong、ushort、enum、struct。
如需得到一个类型或一个变量在特定平台上的准确尺寸,可以使用sizeof方法,表达式sizeof(type)产生以字节为单位存储对象或类型的存储尺寸。
using System; namespace DataTypeApplication { class Program { static void Main(string[] args) { Console.WriteLine("Size of int: {0}", sizeof(int)); Console.ReadLine(); } } }
输出结果
Size of int: 4
二 引用类型
引用类型不包含存储在变量中的实际数据,但包含对变量的引用。
使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。
内置的引用类型有:object、dynamic 和 string。
object类型
object是所有类型的基类。
类型检查在编译时发生。
当一个值类型转换为对象类型时,则被称为装箱;另一方面,当一个对象类型转换为值类型时,则被称为拆箱。
object obj; obj = 100; // 装箱 int i; i = (int)obj; // 拆箱
dynamic类型
可以存储任何类型的值在dynamic类型变量中。
类型检查在运行时发生。
例如:
dynamic d = 100;
String类型
string类型是从object类型派生的,可以用引号或@引号赋值。
string字符串的前面加@(“逐字字符串”)将转义字符
例如:
string str = "C:\\Windows";
等价于
string str = @"C:\Windows";
用户自定义类型
有class、interface、delegate等。
三 指针类型
指针类型变量存储另一种类型的地址。
例如:
int* p1; char* p2;
标签:space EAP 对象类型 字符串 ogr 一个 派生 变化 对象
原文地址:https://www.cnblogs.com/yakblog/p/12561533.html