FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

1次元配列を2次元配列のように扱うクラス

//2次元配列が使いづらいので、
//こういうコード書いた

//1次元配列を2次元配列のように扱うクラス
public sealed class Array2D {
//元となる1次元配列
public T[] BaseArray { get; }
//横方向の要素数
public int LengthX { get; }
//縦方向の要素数
public int LengthY { get; }

//コンストラクタで2つの要素数を指定
public Array2D(int lenX, int lenY) {
//要素数を指定
LengthX = lenX; //横方向を指定
LengthY = lenY; //縦方向を指定
//1次元配列の作成
BaseArray = new T[LengthX * LengthY];
}

//2次元配列のようにアクセスできるようにする
public T this[int indexX, int indexY] {
get => BaseArray[GetReadIndex(indexX, indexY)];
set => BaseArray[GetReadIndex(indexX, indexY)] = value;
}

//1次元配列用の番地を取得
int GetReadIndex(int indexX, int indexY) {
//1次元配列用の番地は
//
// 横方向の番地 + 縦方向の番地 × 横方向の要素数
//
//で求まる
return indexX + indexY * LengthX;
}
}
スポンサーサイト
プロフィール

みにおん

Author:みにおん
c#でゲームを作る人です
web小説なども書いています

低学歴で馬鹿なのパート従業員
ですが、よろしく

相互リンク・ブロとも募集中です
コメントなどご自由にどうぞ

ホームページを見る
Twitter(個人ページ)
PIXIV(個人ページ)

○自作ゲーム一覧
ふりーむ
フリーゲーム夢幻
100%ふりげストア

・web小説
最後の時の夢

最新記事
最新コメント
月別アーカイブ
カテゴリ
ブロとも一覧

ボロボロのガタガタ

ゲームアプリ、ラインスタンプ開発日記(MMA Bros)

ミリオネアインテリジェンス!!!!! 資格編

ひろかずのブログ

srpの路地裏
検索フォーム
ブロとも申請フォーム

この人とブロともになる

RSSリンクの表示
リンク
アクセスランキング
QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。