C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[4]: arraylistのエラー
(過去ログ 68 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 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
-