PCだい「ちゅき」

気がつけば庶事手伝い

目次

Blog 利用状況

ニュース

・H24/01/02
 Microsoft MVPを受賞しました
・H23/11/18
 MCTの憂鬱さんと相互リンクを張っていただきました^^
・H23/09/10
 プログラミング生放送でスピーカーさせていただきました^^ ・H22/12/18
 わんくま同盟でスピーカしました^^
さて、来年はどんな年になるかな。予想が当たるといいなぁ。
・H22/07/17
 わんくま同盟でスピーカしました^^
技術系のセッションは久しぶり。VB! VB!
・H22/03/13
 Tech FieldersでLTのスピーカしました^^
・H21/12/12
 わんくま同盟でスピーカしました^^
最近はずっとLT担当だったので、ちょっと新鮮でした^^
・H20/11/18
 Tech Fielders セミナー 大阪の
 Lightning Talkで優勝しました^^
・H20/8/23
 わんくま同盟で2回目のスピーカしちゃいました
 WCFと戯れてみました^^
・H20/5/17
 わんくま同盟でスピーカしちゃいました^^
 ちゃんとスピーカー持参しましたよんw
・H20/2/22
 なめ猫の参加証もらいました^^
・H20/1/22
 テンプレートを変えてみました^^
・H19/7/23
 ACEプログラムで、ナップサックをもらった上、工具セットももらえることになりました^^
・H19/1/11
 1が並ぶ縁起の良い日に投稿開始!。今後ともお付き合いよろしくお願いします
・H18/10/29
 参加させていただきました^^
ド・初心者ですがどうぞよろしくお願いします。

↓うーん、仕事しろ^^;
Chukiの脳内メーター

Chukiの脳内メーター

書庫

日記カテゴリ

ギャラリ

コミュニティ

相互リンク

【Love VB】初期化子でいろいろとツッコめるようになりました^^(VB10)

元ネタ:Visual Basic 2010 のコレクション初期化子と配列初期化子MSDN マガジン October 2009

先日、久しぶりにjavaでテストケース書いて、便所で泣くくらいスゲ ーdisられた

ArrayList arList= new ArrayList();
arList.add(0);
arList.add(1);
arList.add(2);
assertEquals("要素は3つ",3,arList.size());

だって、今までこうやって書いてたんだもん><
Dim arList As New List(Of Integer)
arList.Add(0)
arList.Add(1)
arList.Add(2)
AssertEquals("要素は3つ",3,arList.Count)

まぁ、C#でも以下のよう書くから、自分でも情けないやら恥ずかしいやらorz
List array = new List { 0, 1, 2};

もう、Visual Basic使いも馬鹿にされずに済むw

■コレクションの初期化子:以下の一行だけでOK!
Dim arList As New List(Of Integer) From {0, 1, 2}

ちなみに、配列でもOK^^
■配列の初期化子
Dim arInt() As Integer = {1, 2, 3}

あと、型推論君があるのでこんな書き方もできますよっと
Dim arInt = {1, 2, 3}

ちなみに、型推論君はコンパイル時に型を決定するので、1%とか、1Lとかサフィックスを付けてあげればコンパイル時にちゃんと型を決定してくれます。そして、IDEでちゃんと認識してくれますよん。で、いろいろと混ぜてあげても、ちゃんと最適な型にしてくれます。惚れるねぇw

◎3Lと「L」を付けたので、Logになった(3Lの周りの○と赤線ははちゅきが描画)
 2LがあるのでLongとして認識 

◎1.0R[Double型]、2L[Long型]、3%[Integer型]を並べた結果、Double型に(赤線ははちゅきが描画)
1.0RがあるのでDoubleとして認識

※中途半端なハンガリアン記法もdisられる原因だったのは生暖かい目で...^^;

あと、こんな書き方もできるようになりました^^
注目すべきは、宣言途中での改行にアンスコが要らないとか、(単にAddメソッド呼ぶだけみたいですが)初期化時に突っ込める記述ができること、そしてProperty、でp1、p2と書かれたコンストラクタ。New Person("ちゅき", "一般優良市民")と書いたとき、対応するコンストラクタがなかったら、右クリックして追加することができます^^。(Eclipseでもできるけれど^^;)。ちなみにPropertyはGet/Setを自動生成してくれます。このとき、_Nameというプライベートなメンバ変数が非表示として一緒に作られています。C系の人でアンスコを付ける癖のある人は、微妙に注意が必要です。
#アンスコは男の敵!

Public Class Person
???
Property Name As String
??? Property
Description As String

??? Sub New(ByVal p1 As String, ByVal p2 As String)
??????? Name = p1
??????? Description = p2
???
End Sub
End
Classe

Sub Main()
???
Dim persons As New List(Of Person) From???
??????? {
?? New Person("ちゅき", "一般優良市民"),
???????????
New Person("中", "道しるべ"),
???????????
New Person("割と普通","割と変態")
??????? }
???
For Each item In persons
???????
Console.WriteLine(item.Name & "さん:" & item.Description)
???
Next
End Sub

disる:disrespect、バカにしたりすることだそうな

投稿日時 : 2010年5月21日 18:55

Feedback

# re: 【Love VB】初期化子でいろいろとツッコめるようになりました^^(VB10) 2010/05/21 19:36 かたぎり

バグ発見!

New Person("割と普通","割と変態")→New Person("割と普通","超絶に変態")

大事なところなので、今後注意するように!(きりっ)

ちなみに、配列初期化はVS2008で使えたりするん

# re: 【Love VB】初期化子でいろいろとツッコめるようになりました^^(VB10) 2010/05/21 21:22 ちゅき

>ちなみに、配列初期化はVS2008で使えたりするん

ありがとです^^

>大事なところなので、今後注意するように!(きりっ)

New Person("割と普通","超絶に変態")
New Person("割と普通","超絶に変態")
New Person("割と普通","超絶に変態")

大事なことなので、三回言っておきました。
以後気をつけます。
(えっと、酔っ払ってても忘れないお約束。懇親会の札は番号順に並べて輪ゴムで閉じて直しておく。)

# thanks for the postmishertAtroro 2010/11/09 2:42 free government grant

this post is very usefull thx!

# Than you a buhnch foor haring this with aall of uss you actually know what you'respeaking approximately! Bookmarked. Kndly also discuss with myy website =). We coupd have a linhk alternate contract amng us 2024/09/13 2:57 Thannk yoou a bunch for sharing thiss with alll of

Than you a bunjch for sharihg this with all of us you actually know wat
you're speaking approximately! Bookmarked.
Kindly akso discuss wth mmy website =). We could ave a link alternwte contract amon us

# Than you a buhnch foor haring this with aall of uss you actually know what you'respeaking approximately! Bookmarked. Kndly also discuss with myy website =). We coupd have a linhk alternate contract amng us 2024/09/13 2:57 Thannk yoou a bunch for sharing thiss with alll of

Than you a bunjch for sharihg this with all of us you actually know wat
you're speaking approximately! Bookmarked.
Kindly akso discuss wth mmy website =). We could ave a link alternwte contract amon us

# Than you a buhnch foor haring this with aall of uss you actually know what you'respeaking approximately! Bookmarked. Kndly also discuss with myy website =). We coupd have a linhk alternate contract amng us 2024/09/13 2:58 Thannk yoou a bunch for sharing thiss with alll of

Than you a bunjch for sharihg this with all of us you actually know wat
you're speaking approximately! Bookmarked.
Kindly akso discuss wth mmy website =). We could ave a link alternwte contract amon us

# Than you a buhnch foor haring this with aall of uss you actually know what you'respeaking approximately! Bookmarked. Kndly also discuss with myy website =). We coupd have a linhk alternate contract amng us 2024/09/13 2:58 Thannk yoou a bunch for sharing thiss with alll of

Than you a bunjch for sharihg this with all of us you actually know wat
you're speaking approximately! Bookmarked.
Kindly akso discuss wth mmy website =). We could ave a link alternwte contract amon us

タイトル
名前
Url
コメント