私はバッファのスライスを抽出できるC#.NETの3次元循環バッファの実装を探しています。3次元循環バッファ
多次元配列を試しましたが、バッファの特定のスライスを取得できません。
私はまた、ジャグ配列を使用したバージョンを実装しようとしましたが、私は行列をinitialzieする方法を理解する上で、また、スライス抽出にいくつかの問題を見つけることがあります。
ありがとうございました。
[編集1] バッファはreltimeセンサーからのデータを格納するために使用され、幅の高さが固定され、深さ(円形部分である時間)はユーザーによって定義されます。私が必要
スライスは、固定サイズの行列(所与の時間のデータと幅とheigh)であろう。
[EDIT 2] 私が動作する実装することができる唯一の実装。ジャグ配列で、私はまだ私が正しくあなたの要件を理解していれば、あなたは2次元のデータの配列データである項目からなる循環バッファをしたい
public class CircularBufferMatrix<T>
{
private readonly T[,,] _buffer;
public CircularBufferMatrix(int width, int height, int depth)
{
Width = width;
Height = height;
Depth = depth;
_buffer = new T[width, height, depth];
}
public T this[int x, int y, int z]
{
set { _buffer[x, y, z%Depth] = value; }
get { return _buffer[x, y, z%Depth]; }
}
#region Getters
public int Width { get; }
public int Height { get; }
public int Depth { get; }
#endregion
}
ええと、私はあなたの要件をより正確にする必要があると思います!抽出するスライスは常に同じサイズで、同じデータを含んでいますか? – Skizz
@Skizzこんにちは、質問を更新しました。ありがとうございました –
ようこそ。表示するコードは? – MickyD