BT

VBでのコレクション初期化子

| 作者: Jonathan Allen フォローする 609 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2008年5月12日. 推定読書時間: 1 分 |

コレクション初期化子は、もともとC# 3のLINQおよびVB 9と共にリリースされることになっていた。C#がコレクション初期化子を取得した一方で、VBのリリースではそれらは削除された。その一因としては、 Visual BasicチームがVBのバージョンをさらに強力にしたかったことがある。

C#では、コレクション初期化子は既知のタイプに限定されている。VBでは、Microsoftはinferred typesについてもサポートする意向を示している。これにより、デベロッパが以下のようなステートメントを記述することが可能になるかもしれない。

Dim x = {1, 2, 3, 4}
Dim y = {{"a", 1}, {"b", 2}, {"c", 3}, {"d", 4}}
Dim z = {{1, 2}, {3, 4}, {5, 6}, {7, 8}}

しかし、この構文が正確には何を意味しているのかという議論が沸き起こっている。いかなる場合でも配列を返すのだという声もあれば、リストやディ クショナリーを参照する必要があるという意見もある。こうしたことの原因の1つに、VBには迅速にタプルを定義する明確な構文がないことが挙げられる。 さらに機能的なプログラミングや動的タイピングへと移行するにつれて、ますますタプルは重要になっている。

Anthony Green氏はとがった配列と直角の配列の問題を取り上げている。rectangular arrays. 例では変数 z は整数(,) または整数()() (C# int[,] および int[][])。

Bill McCarthy氏は、 1次元のコレクションが有名であることを示唆している。

Dim x = {1, 2, 3, 4} 'List(Of Int32)
Dim x() = {1, 2, 3, 4} 'array of Int32

ディクショナリーを扱うために、Ninputerが以下のアプローチを提供している。

Dim d = {1:"Hello", 2:"World" }

Paul Vick氏のブログ(source)で、続きを参照することができる。

原文はこちらです:     http://www.infoq.com/news/2008/05/VB-Collections

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT