Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

配列宣言の -1

VBで配列宣言は DIM a(3) as string などのようにします。DIM a(0) as stringだと要素数が1つの配列になります。固定概念で、要素数が0の配列は作れないものだと信じてました。
手元のソースのなかに Dim a(-1) as string なる文がありました. 要素数が0の配列が作れるんですね。
びっくりしました。以前,要素数0の配列を基礎において, ロジックを組み立てたい時がありましたが,その際は諦めました。
コレクションが手軽に使える今では, パフォーマンス面で若干の優位性があるが,必要性が乏しいかも知れません。
「知らないことがいっぱいあるな」と関心していたら,そのソースの後半に  ??な部分があり残念でした。
その残念な部分は
        Dim b() As String
        For i As Integer = 1 To 200
            ReDim Preserve b(i)
            b(i) = "データ" + i.ToString
        Next
となっていて, 「パフォーマンス上、不味かろう」と問題化しました。


 

投稿日時 : 2006年12月7日 15:46

Feedback

# re: 配列宣言の -1 2006/12/07 16:16 じゃんぬねっと

このあたりでも貼っておきましょうか。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=34089&forum=7&start=16
http://vsug.jp/tabid/63/view/topic/forumid/44/postid/3021/Default.aspx

> ReDim Preserve b(i)
コレクションを使いなさいで FA。

# re: 配列宣言の -1 2006/12/07 16:18 じゃんぬねっと

おまけ : VB6 は、ちょっと特殊なことをしないとダメダメちゃん。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=27133&forum=7

# re: 配列宣言の -1 2006/12/07 18:10 かるあ

あれ?@ITの記事は Ognac さんも参加してるw

# re: 配列宣言の -1 2006/12/07 21:50 Oganc

>あれ?@ITの記事は Ognac さんも参加してるw
ほんとですね、なぜ、
じゃんぬねっとさんの記事 >arr3 = New Integer(-1) {}と
かるあさんの>最初に見たときは驚きました。
の会話が私のなかでスルーになったのだろう.
耄碌してきたかな(もとから?) 。そのスレッドではVB擁護でイッパイだったような記憶があります。
かくも悲しき自分の記憶!!

# ytradOPYFrGiiFYUtH 2014/07/19 10:29 http://crorkz.com/

FRozaz Very informative article post.Thanks Again. Want more.

タイトル
名前
Url
コメント