C# 从资源中读取字节数组

作者:编程家 分类: arrays 时间:2025-11-18

在C#中从资源中读取字节数组的简便方法

在C#中,有时候我们需要从应用程序的资源中读取字节数组,这可能是因为我们想要加载图像、音频或其他二进制文件。在这篇文章中,我将向您展示如何使用C#轻松地从资源中读取字节数组,并提供一个简单的案例代码来说明这个过程。

### 获取资源管理器

首先,让我们讨论一下如何获取资源管理器。在C#中,我们可以使用`ResourceManager`类来处理应用程序资源。这个类提供了访问项目资源的方法,包括字节数组的读取。

csharp

// 引用命名空间

using System.Resources;

// 创建 ResourceManager 实例

ResourceManager resourceManager = new ResourceManager("YourNamespace.ResourceFileName", typeof(YourClass).Assembly);

确保替换"YourNamespace.ResourceFileName"和"YourClass"为您的实际命名空间和类的名称。

### 读取字节数组

有了资源管理器,我们可以使用`GetStream`方法来获取资源的`Stream`,并将其读取到字节数组中。

csharp

// 获取资源的 Stream

using (var resourceStream = resourceManager.GetStream("YourResourceName"))

{

// 将 Stream 读取到字节数组

byte[] byteArray = new byte[resourceStream.Length];

resourceStream.Read(byteArray, 0, (int)resourceStream.Length);

}

这里,替换"YourResourceName"为实际的资源名称。现在,`byteArray`包含了从资源中读取的字节数组。

### 完整的案例代码

下面是一个简单的C#代码示例,演示了如何从资源中读取字节数组。

csharp

using System;

using System.IO;

using System.Resources;

class Program

{

static void Main()

{

// 创建 ResourceManager 实例

ResourceManager resourceManager = new ResourceManager("YourNamespace.ResourceFileName", typeof(Program).Assembly);

// 获取资源的 Stream

using (var resourceStream = resourceManager.GetStream("YourResourceName"))

{

// 将 Stream 读取到字节数组

byte[] byteArray = new byte[resourceStream.Length];

resourceStream.Read(byteArray, 0, (int)resourceStream.Length);

// 现在,byteArray 包含了资源的字节数组

Console.WriteLine("字节数组长度: " + byteArray.Length);

}

}

}

这个案例代码展示了如何轻松地从C#应用程序的资源中读取字节数组。希望这篇文章对您理解这一过程有所帮助。