C#中使用using进行资源管理的的类型有哪些?

发布时间 2023-05-28 21:48:40作者: 岩岫先生

在C#中,实现IDisposable接口的类型可以使用using语句进行资源管理,具体如下:

1. System.IO.Stream:表示字节流的抽象类。它是所有文件I/O操作的基类,包括文件读取和写入。

using (Stream stream = new FileStream("file.txt", FileMode.Open))
{
    // 使用stream对象进行文件读取操作
}

  

2. System.IO.FileStream:表示文件流的类。它继承自Stream类,可以用于文件读取和写入。

using (FileStream fileStream = new FileStream("file.txt", FileMode.Open))
{
    // 使用fileStream对象进行文件读取操作
}

  

3. System.IO.BinaryReader和System.IO.BinaryWriter:分别表示二进制读取器和二进制写入器。它们都继承自 System.IO.Stream类。

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类,可以用于读取和写入内存中的数据。

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接 口,可以用于释放连接资源。

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