- - PR -
Arraylist と 構造体について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-14 18:37
解決しました。
Resくださったみなさん、ありがとうございます。 Public AList As New ArrayList Public Structure tSt dim a as String dim b as ArrayList End Structure Public tpSt As tSt sub Test() tpSt.a = "ABC" tpSt.b = New ArrayList ← ここを追加 AList.Add(tpSt) ある処理 AList(0).b.Add("123") end sub | ||||
|
投稿日時: 2005-04-14 19:03
これは不幸のレスです。
このレスを見た人は1週間以内にOptionStrictをOnにしないとVB神の呪いによりプログラマとして不幸な人生を送ることになります。 実際私の知り合いはTextBoxのTextプロパティに平然と数値を代入しようとしやがります。 勉強頑張ってください。 | ||||
|
投稿日時: 2005-04-14 20:54
VB神の呪いって、.NET VBにバグがあるということですか?
OptionStrictを調べたのですが、遅延バインディングではちゃんと動かない?! HPを見ると、Option StrictステートメントをOffにすることにより暗黙の遅延バインディングを使用できます。と書いてありました。 もう少し詳しく教えてもらえると助かります。 よろしくお願いします。 | ||||
|
投稿日時: 2005-04-14 21:16
VB.NET は Option Strict を使ってやっと c# と同じ土俵に立てます。
| ||||
|
投稿日時: 2005-04-14 21:26
> VB神の呪いって、.NET VBにバグがあるということですか?
VB.NETのバグじゃなくて人がバグを作り込みやすくなるってことです | ||||
|
投稿日時: 2005-04-14 21:59
http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet27/vb6tonet27_01.html MSDNで理解できなければ@ITの記事を見ると良い。 @ITは会議室だけに在らず。 _________________ 仕事あってのプライベート、プライベートあっての仕事 ■7月9日名古屋OFF参加者募集中!■ [ メッセージ編集済み 編集者: まゆりん 編集日時 2005-04-14 22:04 ] | ||||
|
投稿日時: 2005-04-14 22:38
呪いねぇ。。。
動かない呪いではなく、苦労する呪いです(・_・)きっぱり 遅延バインディングに頼ると、何が入っているかわからなくなります。例えば、ArrayListはObjectクラスを受け付けます。したがって、このようなコードが通ります。
さて、入れるときはかまいません。出すときは、どうなるでしょう? これじゃわからんな。わからんっつうか、型付けされたコレクションの勧め、になるな。 Double型の計算をして、結果をIntegerに入れようとすると、どうなりますか? 「小数部が処理されて、整数になる」 だと、20点です。(点数はてきとー) 一郎さんの例だと、ユーザが入力できるString型のTextプロパティに数値を入れました。それを取り出すとき、「自分は数値を入れたから」と、数値で受けていると、どうなるでしょう。 キャストすれば入ってしまいますけど、「暗黙」つまり開発者が知らないうちにされるのと、開発者が知って行うのとでは、不幸度が変わってきます。 _________________ | ||||
|
投稿日時: 2005-04-15 12:28
Resくださったみなさん、ありがとうございました。
|