读书笔记——More Effective C#(1)

本文为《More Effective C#》读书笔记的第一部分,主要探讨了C#中的泛型概念。泛型是在C#2.0引入的特性,旨在提供一种方式来创建可重用的、类型安全的代码,同时减少运行时类型转换的开销。泛型可以用于处理不同类型的参数,对于引用类型和值类型都有不同的内存管理方式。引用类型存储在堆中,由垃圾回收机制管理,而值类型存储在栈中,会在方法返回时自动释放。
摘要由CSDN通过智能技术生成

读书笔记——More Effective C#(1)

一、使用泛型
1、什么是泛型
泛型的C#2.0提出的新语法。在编程时,经常会遇到功能非常相似的模块,只是处理的数据不一样,使用泛型,用同一个方法来处理传入不同种类型参数。使用多个引用类型参数的泛型类型并不会影响程序的内存占用,因为其被JIT编译后只生成一份代码,若是泛型类型中包含值类型作为参数,被JIT编译后会生成不同代码。
引用类型:数组,用户定义的类、接口、委托,object,字符串,null类型,类。引用类型的变量持有的是数据的引用,数据存储在数据堆,分配在托管堆中,变量并不会在创建它们的方法结束时释放内存,它们所占用的内存会被CLR中的垃圾回收机制释放。
值类型:数值类型,结构体,bool型,用户定义的结构体,枚举,可空类型。值类型的变量直接存储数据,分配在托管栈中,变量会在创建它们的方法返回时自动释放。
例如:

//实例化代码在运行时的机器码完全相同
List<string> stringlist = new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值