- PR -

動的な2次元配列(C# アプリケーション)

1
投稿者投稿内容
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2005-12-19 15:07
こんにちは。

質問させて下さい。
普通の2次元配列
string [,] test = new string[10,10];
を後で、test[50,10]のように使用することは可能でしょうか?
Jubei
ぬし
会議室デビュー日: 2002/03/02
投稿数: 830
お住まい・勤務地: 関西
投稿日時: 2005-12-19 15:24
諸農です。

変数名を、と言う意味でしたら簡単ですね。
中身はそのままでサイズの拡張をしたいと言うことでしたら、
別の配列を作成して中身をコピーすることになると思います。

動的配列の利用を考えているのでしたら、
コレクションクラスの方が良いと思います。


_________________
諸農和岳
Powered by Turbo Delphi & Microsoft Visual Studio 2005

十兵衛@わんくま同盟
http://blogs.wankuma.com/jubei/
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2005-12-19 15:25
こんにちは。

test = new string[50,10];
後でこうするのはどうでしょう。

え?中身を維持したい?
ん〜、どこにどう移すのかを知っているのは kazu999 さんだけなので、手動(単純にループするか行毎に)でコピーしてください。
_________________
囚人のジレンマな日々
キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2005-12-19 15:31
回答ありがとうございます。
参考にしてやってみます。
他にも何かありましたらご教授ください。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-12-19 16:08
引用:

kazu999さんの書き込み (2005-12-19 15:31) より:

他にも何かありましたらご教授ください。


どうしてもコレクションを使いたくないのであれば、
多次元配列より多段階配列の方が扱いやすいでしょうね。

# 目的にもよりますが。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2005-12-19 16:24
VB.NET の ReDim ステートメントはどうやってるのとおもい
リフレクターで検索してみたら...結局同じことをやっていたんですね
でもこれは多段階配列なのか

コード:
Private Shared Function RedimPreserve(ByVal SourceArray As Array, ByVal Length As Integer) As Array
      Dim type1 As Type = SourceArray.GetType
      Dim array2 As Array = Array.CreateInstance(SourceArray.GetType.GetElementType, Length)
      Array.Copy(SourceArray, array2, Length)
      Return array2
End Function

キラ
大ベテラン
会議室デビュー日: 2005/12/10
投稿数: 104
投稿日時: 2005-12-19 16:45
いろいろと回答ありがとうございました。
一応、コレクションを使ってやってみることにします。

1

スキルアップ/キャリアアップ(JOB@IT)