[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 23:01 / Filesize : 270 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part19)



1 名前:デフォルトの名無しさん [2007/01/12(金) 15:57:21 ]
前スレVB.NET質問スレ (Part18)
pc10.2ch.net/test/read.cgi/tech/1161250878/

175 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 02:33:34 ]
>>163
165が言うようにInvalidateはウィンドウ全書き換え。
で、ウィンドウのリサイズや別ウィンドウが重なった後の書き換えは
単純に矩形にならず、複雑な形でクリッピングする処理が入る。

リサイズでも全書き換えしたいなら SetStyle とか見てみ

176 名前:デフォルトの名無しさん [2007/01/29(月) 03:26:07 ]
二次元配列 Array1(3,3)とArray2(3,3)の中身を比べるプログラムを作りたいんですけど
どなたか助言をお願いします。

Array1とArray2の中身すべてに
Integer型の0、もしくは9が格納されています。
Array1とArray2の中身を見比べて全く一緒ならtextbox1に「○」と表示させたいと思っています。

(例)
Array1 Array2
001  001
101  101     ←中身が全く同じなので「○」
000  000

Array1 Array2
001  001
101  111     ←中身が違うので「×」
000  001

自分で調べてみてループや判定文を使うのだろうと思って頑張ったのですが
動作してくれません。初心者ですみませんがよろしくお願いします。

177 名前:デフォルトの名無しさん [2007/01/29(月) 03:27:28 ]
>>176
×Integer型の0、もしくは9が格納されています。
○Integer型の0、もしくは1が格納されています。

間違えました。ごめんなさい。

178 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 04:00:05 ]
>>176
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer, j As Integer
Do
For i = 1 To 3
For j = 1 To 3
If Array1(i, j) <> Array2(i, j) Then
TextBox1.Text = "×"
Exit Do
End If
Next
Next
TextBox1.Text = "○"
Exit Do
Loop
End Sub

179 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 05:12:45 ]
名前空間のステートメントが無効です。
全く何をすればいいのか解らない・・・です・・・

180 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 11:51:09 ]
自作クラスのオブジェクトをCStr(MyObj)のように使いたいのですが、出来ますか?
出来るとしたらどんなメソッド(プロパティ?)を実装すればいいですか?

181 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 11:58:50 ]
ToString()をオーバーライドしたらよかっぺ

182 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 12:37:44 ]
>>175
回答する能力ないくせに無理して答えなくていいんだよ。
人の張ったサンプルを良く見たか?w

183 名前:デフォルトの名無しさん [2007/01/29(月) 13:41:26 ]
すんません。
Dim s() As String
と宣言して、どこかでインスタンスを作るとして、
インスタンスが既に出来ているのか居ないのか
判断する方法を教え下さい。



184 名前:デフォルトの名無しさん [2007/01/29(月) 13:45:04 ]
IsNothingとか Is Nothing とか。


185 名前:183 [2007/01/29(月) 15:28:32 ]
>>184
もう少し具体的にお願いします。
Dim s() As String
'If s(0) Is Nothing Then  <- ここんとこ
ReDim s(0)
End If

186 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:33:22 ]
>>185
184じゃない↓がでええやろ?
If s Is Nothing Then

187 名前:183 [2007/01/29(月) 17:46:27 ]
>>186
ダメみたいです。(^^;
「変数's'は値が割り当てられる前に使用されいます。・・・・」
と出ます。

188 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:55:02 ]
>>187
それは警告だから動くだろ?
警告が気に入らないなら↓のようにしとけ
Dim s() As String = Nothing

189 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 17:56:10 ]
Dim s() As String

'変数初期化します。
ReDim s(0)

で駄目なの???



190 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:21:13 ]
>それは警告だから動くだろ?

にVB厨の神髄をみた

191 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:23:49 ]
ReDimなんか使うんじゃねぇ

192 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:27:37 ]
>>183
だから大人しく入門書をまず読めって。
人様に質問なんざそれからにしろよ。

お前さんのやってることは、九九も知らないのに連立方程式の解き方を教えろと言ってるのと同じだ。
九九のレベルからいちいち掲示板で質問するつもりか?
そんなんじゃどんなに幸運でも100年かかるわw

193 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:39:22 ]
ていうか、VBって無くなるみたいだからやらない方がいいんじゃないの?




194 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:43:20 ]
>>193
ソースは?

195 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:52:28 ]
Dim x(0)
ReDim x(100)
はVB6だとエラーになるが、VB.NETでは大丈夫というかIs Nothingを省きたいときの推奨の方法みたいだ。
ただ可変配列を使いたいときはコレクションの使用も考慮したほうがいい。


196 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:58:56 ]
>>194
公式情報ではなくて、以前C#のスレに書いてあった。
VBは無くなるからC#にしておけとの事だとか。

197 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 18:59:45 ]
kuma-

198 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 19:58:35 ]
>>196
ゲイツ様はC#をあきらめてVBはこれまで通りプッシュされると聞き及んでいますが、
あなたはこれを信用しますか?

199 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:00:00 ]
下らんそんなに馴れ合いたいのなら他所行きな

200 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 20:14:27 ]
誘導、ここで好きなだけやってくれ

【VB.NET】VS2005 選ぶならどっち?【C♯】
pc10.2ch.net/test/read.cgi/tech/1106538237/l50

201 名前:183 [2007/01/29(月) 21:10:59 ]
>>188
>>Dim s() As String = Nothing
サンクス、うまくいきました。

>>189
配列のサイズでデーターの大きさを所得したいので。
If s IsNot Nothing Then
  ReDim Preserve s(s.Length)
Else
  ReDim s(0)
End If
こんなことを考えてました。

>>195
実際はジェネリックでやってます、それと疑問は別物で。

>>193
客の要望でどっちでも書いてます。
C丼でも大してかわりが有りません。

202 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 21:23:04 ]
201みたいなプログラマの書いたコードは怖くて使えんな。
なんだよその「動けばいいじゃん」っていう発想w

本当にそれでいいのか?
どんなショボい入門書にも書いてあることが理解できてないのに

203 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:21:51 ]
>>183
初期化はちゃんとした方がいい。
>>188 はちょっと乱暴だが…w



204 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:23:49 ]
それ以前に参照型って概念が理解できてないんでしょ

205 名前:デフォルトの名無しさん [2007/01/29(月) 22:24:45 ]
>>190
C#だったらどーするの?

206 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:32:09 ]
だから「初期化しろ」って警告なんだろーが

207 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:34:07 ]
初期化するだろ普通は

208 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:35:03 ]
190も馬鹿だが>>205-206もな
初期化しろ?w
ちょっとニュアンス違うよ


209 名前:デフォルトの名無しさん [2007/01/29(月) 22:41:13 ]
>>208
だからVB厨じゃなかったらあの警告にどう対処するのか教えてよ。

210 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:43:56 ]
>>208
日本語に不自由なのも大概にしとけよw

対処すべきだ、というニュアンスを匂わしてる奴を馬鹿だといってるんだけど

211 名前:210 mailto:sage [2007/01/29(月) 22:44:41 ]
>>209の間違い

212 名前:デフォルトの名無しさん [2007/01/29(月) 22:47:18 ]
ああなんだ190ってあいつか。
おめーがアンカーつけねえからわかんなかったじゃねえか。

213 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:47:27 ]
なにこの肥溜めスレ



214 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:57:13 ]
初期化しないでも警告だけでコンパイル通るの?
VB.netって。
そうなら>>190はそういうこと言ってるんじゃないのかな



215 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:58:15 ]
なんか祭ってるな。

>>212
お前の知り合いか?


216 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 22:59:31 ]
むしろいちいち初期化しないとコンパイル通らない言語って具体的になんだよw

217 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 23:01:01 ]
>>216
C#

218 名前:デフォルトの名無しさん mailto:sage [2007/01/29(月) 23:02:52 ]
おいおいw

219 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 00:17:17 ]
>If s IsNot Nothing Then
>  ReDim Preserve s(s.Length)
>Else
>  ReDim s(0)
>End If
>こんなことを考えてました。

こりゃいったいどういうプログラムだ。


220 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 00:19:56 ]
C#は初期化しないと通らんぞ。
正確にはどこでも初期化せずに、いきなり参照すれば、だが。


221 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 00:28:11 ]
>>220
もういい馬鹿は糞して寝てろw

222 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 00:34:33 ]
フィールドなら通るから勘違いしてんのか?


223 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 01:23:07 ]
ローカル変数は初期化しないで参照することはできんな。



224 名前:183 [2007/01/30(火) 08:11:30 ]
>>219
あるデーターを採取して配列に入れる、入れる前に
配列の個数を1つ増やす、値の代入は本質問と
無関係なため省略してある。
蛇足だが、その後は、プログラム終了時は、
配列はシリアル化してXMLファイルに
書き込み、次の起動時に配列に読み込む。
データーの数又データーの有無は、配列の要素数で
判断する。

>>202
何が書いてあるのだ。
あなたのコードを見せていただけますか。

>>203
>>201が初期化のコードだと言うことがわからんかな。


225 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 08:15:38 ]
可変長なコレクションに配列は無いわ

226 名前:200 mailto:sage [2007/01/30(火) 08:26:08 ]
>>224
馬鹿にして悪いけどしょうがないよ、あんた本当に基本がわかってないし、
自分が基本がわかってないっていう自覚すらないから。

例えば値型と参照型の区別、なんていう基礎の基礎からしてわかってないでしょ。
.NETにおける配列の意味もわかってない。

それだけでなくセンスもない。
理解できないだろうけど>>201みたいなコードってありえんから。

227 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 10:21:11 ]
配列の個数を1増やす
や め て く れ
何故かVB6時代によくみたコードだな。
だがVB6でもこれはやめてほしい。

228 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 10:25:39 ]
で、要素数-1がデータ数かよ。
要素0もしくは最後か?ともかく余った要素には何が入ってんだ?


229 名前:デフォルトの名無しさん [2007/01/30(火) 10:29:30 ]
初歩的な質問で申し訳ないのですが、画面のリストボックスに
スクロールが必要でない時も最初から縦スクロールバーを表示させるにはどうしたら良いでしょうか?
スクロールが必要な際は表示されるのですが、そうでない時はスクロールバー自体が消えてしまいます。

230 名前:デフォルトの名無しさん [2007/01/30(火) 10:32:37 ]
間違えました。
ListBoxではなく、ListViewでした。

231 名前:デフォルトの名無しさん [2007/01/30(火) 12:27:13 ]
だから一晩かかってるのに何故 List(of xxx)とか ArrayListにしないの?
シリアル化だって勝手にやってくれるし。


232 名前:183 [2007/01/30(火) 12:53:29 ]
>>231
201をよく嫁
実際はListジェネリッククラスを使って、
インデクサで処理してる。

>>226
おまえが1番馬鹿なようだな。

いやもっと馬鹿が居た。
>>228


233 名前:188 mailto:sage [2007/01/30(火) 13:05:42 ]
おいらのレスでずいぶん盛り上がりましたねw



234 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 13:42:48 ]
>>232
VBの配列の指定数は要素数じゃないだろってだけの話だろう?
馬鹿馬鹿ばっかり言ってないでなぜ馬鹿なのか分かるように言ってくれよ

235 名前:デフォルトの名無しさん [2007/01/30(火) 15:35:32 ]
どなたか>>229-230に回答を…。
ググってみたら同じような質問があったのですが、それにも回答がついてませんでした。

236 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 15:46:37 ]
ArrayListって要素を追加した順番に保存されますか?
またfor eachで取り出す場合はその順番は保証されていますか?

237 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 15:50:36 ]
>>235
適当に空行足しておけばいいだろ。


238 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:08:05 ]
>>236
そらそうだ

239 名前:デフォルトの名無しさん [2007/01/30(火) 16:11:25 ]
>>236
順番に保存する他にどんな保存方法があるんだ?
For Eachは要素を列挙する関数なんで、順番は保証されない。
とは言ったものの実際は順番に出てくるが。
正式にはインデクサを使え。

240 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 16:24:18 ]
やっぱりfor eachは多用しないように気をつけようっと。

241 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:00:59 ]
>>239
嘘つけw

242 名前:デフォルトの名無しさん [2007/01/30(火) 17:33:39 ]
>>237
通常IE等でスクロールがない画面で表示されるようなグレイアウトの状態でスクロールバーを表示したいので
改行を足すのはちょっと目的と変わってしまいます。
でもお答え頂きありがとうございます。

引き続きどなたかわかる方、回答お待ちしています。

243 名前:デフォルトの名無しさん [2007/01/30(火) 17:34:05 ]
反復処理の順序 For Each...Next ループを実行すると、コレクションの反復処理の順序は
GetEnumerator メソッドが返す列挙子オブジェクトの制御下に置かれます。反復処理の順
序は、Visual Basic ではなく、列挙子オブジェクトの MoveNext メソッドによって決まります。
したがって、コレクションのどの要素が最初に element に返されるかや、特定の要素の後
にどの要素が返されるかを予測することはできません。

特定の順序でコレクションを反復処理する必要がある場合は、そのコレクションによって公
開される列挙子オブジェクトの特性を把握していない限り、For Each...Next ループが適切な
選択肢とは言えません。For...Next ループや Do...Loop ループなど、別のループ構造を使
用した方が、信頼できる結果が得られます。

ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_vbalr/html/ebce3120-95c3-42b1-b70b-fa7da40c75e2.htm



244 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:37:55 ]
Array"List"のListってのは何を意味してるか考えろよ。
列挙子オブジェクトの特性が把握できてるんだよ。w この場合。


245 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 17:41:43 ]
おぉ!ということはfor eachでも問題ないんですね。
かっこいーからfor eachのほうを使うことにします。

246 名前:デフォルトの名無しさん [2007/01/30(火) 18:13:46 ]
>>242
なんの為か知らんがどうして表示したかったら、
ハンドルにAPIのShowScrollBarを投げろ。

247 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:42:22 ]
>>244
それって確証ある?
つまり明文化された仕様として保障されてるか?
俺は怪しいと思うけどどうなんだろう。

>>239の言うように、Enumeratorは(クライアントのデータ構造が仮にリストでも)
リストを手繰っていくような動作を実装することは義務付けられてないでしょ。

自分でEnumeratorみたいの実装すること考えたって、パフォーマンス優先するなら
リストを手繰るような実装は俺ならしないけど。

248 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 18:57:18 ]
どんな実装するってのか聞いてみたい。

249 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 19:03:40 ]
例えばリストが、常に上の方に詰められる自己参照構造体配列(の配列)で実装されてたら、
Enumeratorは構造体配列を上からシーケンシャルに吐き出せば済むでしょ。

250 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 19:28:50 ]
んーなんだそういう話か…
んー
なんていうかさ、自然に考えられる実装ってあるじゃん。
ある意味特殊な構造の実装になってる場合なんかは、
何を重視するかで実装は変わってくるが、
そういう場合は明確にドキュメントするよね?

で内部がただの配列であり、配列と同様に扱えると明記されてる
ArrayListで、予想外の順序で列挙される実装なんて有り得るか?
逆にそういう実装なら絶対に明記されてるだろ。

で保証はないって話は理解出来なくもないんだが、
現実はもっと怪しい仕様??なんてものがいっぱいあって、
そういうことと比べれば実質十分信用していいレベル。
まあ、絶対に明記されてる仕様にしか、一ヶ所たりとも依存しないってんなら
好きにすればいいけど

251 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 19:30:44 ]
>>247
仕様はないでしょうな

現在存在するすべてのArrayListの実装がリスト順に返しているという事実と、
今後現れる実装が互換性を維持してくれるだろうという希望に頼るしかなかろう

252 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 20:30:49 ]
>>250
わかんないお人だなあ。
だからさあ、リスト構造をしているのは、
換言すればリストの「ふり」をするのはListなりArrayListなのであって
Enumeratorじゃないんだよ。

253 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:11:30 ]
いやそういうことじゃなくて現実の話をしてる
リストのセマンティクスをもつコレクションがリストじゃない並びの列挙を行うなら、
現実にはドキュメントされてる、普通。
ArrayListとかは実装が配列になってると明記されてたはず。
この状態で異なる列挙実装なんて普通考えられない。
もしそうなってるなら明記されてるはず、現実には。
他の人間が実装したリストはそりゃ分からんが。



254 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:35:36 ]
なんかインターフェイスと実装をごっちゃに議論してるような気がするんだけど

255 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:38:03 ]
??

256 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:40:50 ]
>>253
倒錯してると思うよ。

普通逆でしょ。
IEnumeratorの要求仕様以上のspecial feature があるなら明記するよ。
明記してないなら、それは「期待すんなよ」ってことだと解釈するのが普通だと思うけど。

っていうか、ArrayListのがインデックス順に整列された配列、なんて記述を見た記憶は
俺にはないなあ。

257 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:51:25 ]
>>254
たしかに>>256で初めてEnumeratorに I が付いたな

258 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 21:58:32 ]
>>257
アホでしょお宅w

259 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:10:34 ]
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.ja/dv_fxfund/html/71807ea7-9180-48a6-916f-35a5251d477f.htm
msdn2.microsoft.com/ja-jp/library/hwyysy67(VS.80).aspx
よくよめ


260 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:13:07 ]
ArrayList クラス
必要に応じてサイズが動的に増加する配列を使用して、IList インターフェイスを実装します。


261 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:26:17 ]
>>259
そんな隅っこにこっそり書いてあるのなw
なるほど勉強になった。

まあでも、個人的には本当にその記述信用していいのかな、
って気がしないでもない。
ちょっとありえない実装のような気がするんだよね。

ところでList(of T)に関してはどうなんだろう。

>>260
「配列を使用して」、っていうのは「正体はベタな配列に過ぎないんですよ」
って意味じゃないよ。

262 名前:デフォルトの名無しさん mailto:sage [2007/01/30(火) 23:56:36 ]
いまいちわからんなぁ

>まあでも、個人的には本当にその記述信用していいのかな、
>って気がしないでもない。
>ちょっとありえない実装のような気がするんだよね。

ArrayListみたいなのの実装で列挙が順序通りってのが、なんでありえない実装なわけ?

>「配列を使用して」、っていうのは「正体はベタな配列に過ぎないんですよ」
>って意味じゃないよ。

言ってる意味がちょっとよく分からん。

263 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:07:34 ]
お前らもうええわ。
メアド交換して勝手にやってろ



264 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:14:05 ]
>>262
文盲かよ。。だから処理の効率が悪いからだって何度も言ってるじゃん。。
順番にアクセスしたいのなら普通にインデクサ使えば良いだけだし。

後半の話も書いてるでしょ。
配列を使用して、というのは内部的に配列を使ってListが実装されてるって意味であって…
まあ、リストとかキューとか自前でデータ構造実装したことないなら理解できないかもね。

265 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:46:46 ]
あのさ、何よりパフォーマンスだけが重要ならそもそも列挙なんて仕組みはいらんだろうに
そもそも列挙実装の仕組みとしては単純なインデックスが一番効率的だろうが
まあこれは内部実装が単純な配列の場合だが。
列挙なんて効率悪いものなんていらんから、順序通りの列挙の実装はありえないつてか?

お前の言ってること全然理解出来ねーよ
内部実装が単純な配列のコレクションなら順序通りが一番当たり前だろ。
なんでありえないわけ?
わざわざ順序通りにならないようにすんのか?なわけないよな。

ただのインデックス使えばいいってのは状況によってはもちろん分かるが
だからありえないってのは理解できん

どうしてもありえないってんならSSCLIでソースみてみろよ。


266 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 00:58:05 ]
インデックスでアクセスできるコレクションの列挙がインデックス順じゃないほうがありえないよな

267 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:02:40 ]
お前ら、VBはそんなアホらしいことを考えなくても十分に使えるという点が
最大のセールスポイントだということを知らないのか?

268 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:10:30 ]
"(" を打ったとき ToolTip に "Index As Object" て出てくるやつはインデックス順で並んでいるやつで
"(" を打ったとき ToolTip に "Key As Object" て出てくるやつはインデックス順で並んでいないやつ
と俺は解釈している。

269 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:12:52 ]
大体ArrayListの for each 使うくらいでビビルような偏執狂が
VBを使ってるということ自体納得がいかんわw

270 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:15:08 ]
>>266
そもそもリスト構造っていうのがどういうデータ構造なのかわかってるのかと。。

だから連結リスト構造だったら列挙するときにわざわざインデックス順にやる、
なんてアホな実装するわけないじゃん。

連結リストじゃなかったら、例えばInsertRangeメソッドを実装するのに
いちいちコピーしなきゃならんでしょ。
連結リストならインサートする前後のポインタを付け替えるだけで済むのに。

271 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:28:38 ]
>>264内部的に配列を使って…
いや最初からそういう意味で言ってるだろ。
それに対して
「ベタな配列に過ぎないんですよ」って意味じゃないよ
っていうのが、どういう意味・意図なのかよく分からんてだけだ

内部的に配列を使って実装したコレクションの列挙が
内部配列の順序通りなんて一番ありえるパターンだろ
なんで「自分でデータ構造実装したことないなら理解出来ないかもね」
になるんだよ。

内部的に配列を使ってはいるがダイレクトな配列の使い方はしていない実装は
もちろん有り得るが
そうならArrayListみたいな説明の仕方はしない、普通は。
明らかに誤解を招く書き方だから。
で現実にArrayListは単純な配列をダイレクトに使って実装されてる。


272 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:44:19 ]
>>270にとって.NETのコレクションクラスってありえない実装なんだな

273 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 01:56:35 ]
今は.NETのコレクションでのリストの話をしてるのよ。
ArrayListとかの。
で、連結リストの話でも、インデックス順序の列挙はありえなくもなんともないと思うんだが。
連結リストの場合、どういうのが普通はなんだ?
むしろリンクを辿るのが一番普通だと思うが…単純な連結リストの場合



274 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 02:00:44 ]
リスト構造だとインデクスアクセスが定数時間で出来んだろうが
可変長配列として扱いやすくするコレクションなのに
インデクスアクセスを非効率にしてどうすんだよ。


275 名前:デフォルトの名無しさん mailto:sage [2007/01/31(水) 02:09:55 ]
っと、ここでのリスト構造ってのは連結じゃない話か
なら上のインデクスのはなしはとりあえずなし。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<270KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef