.net 笔试常见题(一) 值类型与引用类型的区别

来源:互联网 发布:手机淘宝上传图片尺寸 编辑:程序博客网 时间:2024/06/07 14:47

值类型与引用类型的区别
(1)从概念上来讲值类型存储其值,引用类型存储对其值的引用
(2)值类型在内存上的部署在栈上,而引用类型在内存中部署在堆上,一个引用,存储着一个内存地址;而这个地址指向的内存(位于托管堆)里存储着其内容。
(3)C#值类型均隐式派生自System.ValueType,都是密封的(seal)无法派生新的值类型,引用类型可以派生新的引用类型
(4)常见的值类型:结构体、数值类型(整型、浮点型、bool型、枚举、可空类型<T>泛型)
(5)常见的引用类型:数组、类、接口、委托、字符串
可以用Type.IsValueType属性来判断一个类型是否为值类型:

TestType testType = new TestType ();
if (testTypetype.GetType().IsValueType)
{
Console.WriteLine("{0} is value type.", testType.ToString());
}

原创粉丝点击