C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: arraylistのエラー


(過去ログ 68 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■39801 / inTopicNo.1)  arraylistのエラー
  
□投稿者/ たぬき (1回)-(2009/08/13(Thu) 18:42:26)

分類:[VB.NET/VB2005 以降] 

初めまして!
vb2008初心者です。
今、アプリケーションを作っていて、そこで、配列arraylistを使っていてエラーが起きています。解決できないので、教えて下さい。
If文を使用し、「もしarraylistの要素が連続になっていたならば、次の命令にいく」ようにしたいのですが、必ずエラーになります。”要素が連続である”など読み取るプロパティなどないのでしょうか?わかりにくいと思いますが、教えて下さい。

今は、下のようにしていましたが、インデックスがオーバーしてしまいエラーです。
If count1.Item(count + 1) <> count1.Item(count) + 1 Then
countは最初0に設定しています。
引用返信 編集キー/
■39804 / inTopicNo.2)  Re[1]: arraylistのエラー
□投稿者/ こくぶん (20回)-(2009/08/13(Thu) 19:06:46)
No39801 (たぬき さん) に返信
> 初めまして!
> vb2008初心者です。
> 今、アプリケーションを作っていて、そこで、配列arraylistを使っていてエラーが起きています。解決できないので、教えて下さい。
> If文を使用し、「もしarraylistの要素が連続になっていたならば、次の命令にいく」ようにしたいのですが、必ずエラーになります。”要素が連続である”など読み取るプロパティなどないのでしょうか?わかりにくいと思いますが、教えて下さい。
>
> 今は、下のようにしていましたが、インデックスがオーバーしてしまいエラーです。
> If count1.Item(count + 1) <> count1.Item(count) + 1 Then
> countは最初0に設定しています。

count の最大値を「 count1.Count - 1 」にしていませんか?

> count1.Item(count + 1)

とあるので、 count の最大値は「 count1.Count - 2 」でなければいけないと思います。

引用返信 編集キー/
■39810 / inTopicNo.3)  Re[2]: arraylistのエラー
□投稿者/ たぬき (3回)-(2009/08/13(Thu) 19:59:55)
No39804 (こくぶん さん) に返信
> ■No39801 (たぬき さん) に返信
>>初めまして!
>>vb2008初心者です。
>>今、アプリケーションを作っていて、そこで、配列arraylistを使っていてエラーが起きています。解決できないので、教えて下さい。
>>If文を使用し、「もしarraylistの要素が連続になっていたならば、次の命令にいく」ようにしたいのですが、必ずエラーになります。”要素が連続である”など読み取るプロパティなどないのでしょうか?わかりにくいと思いますが、教えて下さい。
>>
>>今は、下のようにしていましたが、インデックスがオーバーしてしまいエラーです。
>> If count1.Item(count + 1) <> count1.Item(count) + 1 Then
>>countは最初0に設定しています。
>
> count の最大値を「 count1.Count - 1 」にしていませんか?
>
>>count1.Item(count + 1)
>
> とあるので、 count の最大値は「 count1.Count - 2 」でなければいけないと思います。

ありがとうございます!
arraylistに負のインデックスはエラー起きたとおもったのですが、やってみます。
>
引用返信 編集キー/
■39827 / inTopicNo.4)  Re[3]: arraylistのエラー
□投稿者/ みきぬ (609回)-(2009/08/14(Fri) 09:30:31)
No39810 (たぬき さん) に返信
> arraylistに負のインデックスはエラー起きたとおもったのですが、やってみます。

指摘はそういうことじゃなくて、count1 の要素数が例えば 5(0〜4)だったときに、元の処理だと

count1.Item(1) と count1.Item(0) を比較
count1.Item(2) と count1.Item(1) を比較
count1.Item(3) と count1.Item(2) を比較
count1.Item(4) と count1.Item(3) を比較 ← ☆
count1.Item(5) と count1.Item(4) を比較 ← ここで例外になっている

ってこと。

うまくいくようにするには、比較を ☆ のところで止めないとだめなわけね。
そのためには、ループで回していると思われる count を、0 から始めて 3(つまり要素数 - 2)で止めないといけないよね? ってこと。
引用返信 編集キー/
■39859 / inTopicNo.5)  Re[4]: arraylistのエラー
□投稿者/ たぬき (5回)-(2009/08/14(Fri) 21:04:33)
No39827 (みきぬ さん) に返信
> ■No39810 (たぬき さん) に返信
>>arraylistに負のインデックスはエラー起きたとおもったのですが、やってみます。
>
> 指摘はそういうことじゃなくて、count1 の要素数が例えば 5(0〜4)だったときに、元の処理だと
>
> count1.Item(1) と count1.Item(0) を比較
> count1.Item(2) と count1.Item(1) を比較
> count1.Item(3) と count1.Item(2) を比較
> count1.Item(4) と count1.Item(3) を比較 ← ☆
> count1.Item(5) と count1.Item(4) を比較 ← ここで例外になっている
>
> ってこと。
>
> うまくいくようにするには、比較を ☆ のところで止めないとだめなわけね。
> そのためには、ループで回していると思われる count を、0 から始めて 3(つまり要素数 - 2)で止めないといけないよね? ってこと。



そいう事ですか!!!
すいません、分かりました。
丁寧にありがとうございます。

みぬきさん、こくぶんさんありがとうございました!
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -