掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
可変長の2次元を配列をRedimなしで使うには (ID:140190)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> dim Str(,) as String の2次元配列に格納してから 「Str 関数」と競合するような名前は、避けておいた方が無難かと。 # Str は予約語では無いので言語的には問題無いのですが、混乱を招くので。 > Redim Preserveで何度もサイズを変更しながら値を加えています。 見た目上は、Preserve はサイズの拡張/縮小を行っているように見えますが、 実際には新たな配列を作りなおして、そこにデータをコピーする命令です。 そのため頻繁なサイズ変更は、データ件数増加につれて、効率が著しく悪くなります。 旧VB にしても VB.NET にしても。 > ArrayListは1次元の配列に出力する機能はついてるようですが、 今回の件とは関係ありませんが、VB2005 をお使いであるならば、 System.Collections.ArrayList クラスよりも、 System.Collections.Generic.List(Of T) クラスの方が便利ですよ。 > .NETでも2次元配列を操作するときはRedimで繰り返しサイズを変更する > 方法が普通なのでしょうか。 何が普通という事もありませんが、配列の再生成回数を減らすために、 最初は、大きめの配列や別のコレクションなどに入れておき、最後に 二次元配列へと加工するという手法があります。 たとえば、データを System.Data.DataTable の形で保持するようにすれば、 行数は .Rows.Count、列数は .Columns.Count で取得できますので、 後からループで、二次元配列へと変換できますね。 (もちろん、DataTable 以外の物で管理しても良いでしょう)
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.