C#中使用using进行资源管理的的类型有哪些?
在C#中,实现IDisposable接口的类型可以使用using语句进行资源管理,具体如下:
1. System.IO.Stream:表示字节流的抽象类。它是所有文件I/O操作的基类,包括文件读取和写入。
1 2 3 4 | using (Stream stream = new FileStream( "file.txt" , FileMode.Open)) { // 使用stream对象进行文件读取操作 } |
2. System.IO.FileStream:表示文件流的类。它继承自Stream类,可以用于文件读取和写入。
1 2 3 4 | using (FileStream fileStream = new FileStream( "file.txt" , FileMode.Open)) { // 使用fileStream对象进行文件读取操作 } |
3. System.IO.BinaryReader和System.IO.BinaryWriter:分别表示二进制读取器和二进制写入器。它们都继承自 System.IO.Stream类。
1 2 3 4 5 6 7 8 9 | using (BinaryReader reader = new BinaryReader( new FileStream( "file.bin" , FileMode.Open))) { // 使用reader对象进行二进制文件读取操作 } using (BinaryWriter writer = new BinaryWriter( new FileStream( "file.bin" , FileMode.Create))) { // 使用writer对象进行二进制文件写入操作 } |
4. System.IO.MemoryStream:表示内存中的流。它继承自Stream类,可以用于读取和写入内存中的数据。
1 2 3 4 | using (MemoryStream memoryStream = new MemoryStream()) { // 使用memoryStream对象进行内存读取和写入操作 } |
5. System.Data.SqlClient.SqlConnection、System.Data.OleDb.OleDbConnection和 System.Data.Odbc.OdbcConnection:分别表示SQL Server、OLE DB和ODBC数据源的连接。它们都实现了IDisposable接 口,可以用于释放连接资源。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | using (SqlConnection connection = new SqlConnection(connectionString)) { // 使用connection对象进行数据库操作 } using (OleDbConnection connection = new OleDbConnection(connectionString)) { // 使用connection对象进行数据库操作 } using (OdbcConnection connection = new OdbcConnection(connectionString)) { // 使用connection对象进行数据库操作 } |
除了以上类型,还有如下的常用类型:
- BinaryReader
- BinaryWriter
- DeflateStream
- GZipStream
- MemoryStream
- StreamReader
- StreamWriter
- ZipArchive
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?