0

我想在 C# 中模拟闪存架构。更具体地说,架构如下所示:

  • 闪存是块的集合
  • 1 个块 = 128 个扇区
  • 扇区由数据区和备用区组成
  • 数据区 = 8 kB
  • 备用区 = 16 B

我想在结构或类中表示它,但问题是我不知道如何在代码中表示一定数量的内存空间。我不能使用 int 或 char 数组,因为我不知道该内存空间中要存储什么......我不太确定,但我认为我可以使用 byte 数据类型来表示它......

4

1 回答 1

2

是的,听起来你想要一个字节数组。例如:

 public sealed class Block
 {
     private readonly Sector[] sectors = new Sector[128];

     public Sector this[int index] { get { return sectors[index]; } }
 }

 public sealed class Sector
 {
     private readonly byte[] data = new byte[8 * 1024];

     public byte this[int index]
     {
         get { return data[index]; }
         set { data[index] = value; }
     }
 }

(如果需要,您也可以对“备​​用”区域进行建模 - 但尚不清楚您是否真的需要这样做。)

那只允许一次单个字节的访问-您可能希望拥有一次读取/写入数据块的GetData方法SetDataBlock希望这会让你开始。

于 2012-04-07T12:17:37.380 回答