c# - 是否有文件字节的 .NET 包装器?

标签 c# .net types

.NET 中是否有一些文件字节的包装器?

我不喜欢使用 byte[]。在文件字节的情况下,类型 (byte[]) 没有给出足够的语义,因为并非所有 byte[] 都是文件字节。也将其作为参数传递是令人不安的......

我知道自己编写那种包装器很容易。例如:

public class FileBytes
{
    public FileBytes
    (
        byte[] value
    )
    {
        Contract.Requires(value != null);
        Contract.Requires(value.Length != 0);

        this.Value = value;
    }

    public byte[] Value { get; private set; }
}

但我想知道是否有一些开箱即用的解决方案。

最佳答案

BCL 中没有这样的东西。 (或者 Stream 抽象就是您要找的东西?)

您的包装器与原始 byte[] 存在相同的问题,即 FileBytes 类型的变量可以是 null

此外,我不明白为什么来自文件的字节与来自其他地方(例如来自网络)的字节有任何不同。无论来自何处,对字节进行操作的代码都应该以相同的方式运行。

关于c# - 是否有文件字节的 .NET 包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24476325/

相关文章:

c# - 通过单击更改 MySQL 中的 listBox 内容

java - Collection<?> 和 Collection<T> 有什么区别

表示性别或性别的 Ruby 约定

c# - 为什么我不能将默认值分配给我的 notnull 泛型类型?

c# - 在 SQL Server 数据库中选择最后一条记录并不总是有效

c# - 仅在 VS 2010 上运行时 : COMException: Catastrophic Failure: Error Code: -2147418113

c# - 更改 toolStripLabel C#.Net 的颜色

.net - 在 wcf 客户端中动态设置端点地址(使用 net tcp 绑定(bind))

c# - 将 C# 应用程序中使用的文件夹放在哪里?

types - 使用F#区分联合替代作为参数类型