ArrayListの中身がない時。 への返答

投稿で使用できる特殊コードの説明。(別タブで開きます。)
本名は入力しないようにしましょう。
投稿した後で削除するときに使うパスワードです。返答があった後は削除できません。
返答する人が目安にします。相手が小学生か社会人かで返答の仕方も変わります。
最初の投稿が質問の場合、質問者が解決時にチェックしてください。(以降も追加書き込み・返信は可能です。)
※「過去ログ」について書くときはその過去ログのURLも書いてください。

以下の返答は逆順(新しい順)に並んでいます。

投稿者 まる  (社会人) 投稿日時 2009/2/3 02:08:44
かずきさん、刈谷勇さん、回答ありがとうございます。

プログラムのほうは、かずきさんのおっしゃったCountプロパティで比較してなんとかなりました!ありがとうございました!
刈谷勇さん、すべてチェックしたところ、テキストボックスから入力されなかったときは何も表示されませんでした。でもオブジェクトから型変換して、なにもなかったのでエラーになったと思います。
バージョンは2005です。

今回のことでさらに「VBって奥が深いんだな」と感じました。これからもがんばりたいです。
本当にありがとうございました!
投稿者 刈谷勇  (社会人) 投稿日時 2009/2/3 01:29:50
あと、書き忘れましたが、VB.netのバージョンはいくつでしょうか?
2005以降なら、ArrayListのジェネリッククラスのList<>を使ったほうが型の指定が出来るので楽ですよ。
投稿者 刈谷勇  (社会人) 投稿日時 2009/2/2 22:32:03
まるさん、別スレを作っていただいてありがとうございます。

>ArrayListの中身がないときの比較をしたいのですが、
この部分なのですが、ArrayListの要素が無いという意味で書かれていますか?
それとも、要素の中身が無いという意味で書かれていますか?

とりあえず、後者を前提でお話させていただきます。

>「インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。」
とのことなので、値を入力した直後からの動きの確認とエラーになっているAr(0)の中身を確認してみてください。
なお、この辺のやり方はここの初級編の弟5章のあたりを参考にしてもらえればと思います。
また、前者の場合はかずきさんが書かれた方法で確認ができると思います。


あと、ここの入門編・初級編は目を通していらっしゃいますか?
わたしもよく見かえしたりしていますので、初心者のうちは何回も読み直すといいと思います。
また、慣れてきたらよく使うオブジェクトのメンバーを見ると意外な発見があって面白いですよ。
投稿者 かずき  (社会人) 投稿日時 2009/2/2 21:40:47
Countプロパティとかで数を確認してはどうですか?
投稿者 まる  (社会人) 投稿日時 2009/2/2 20:37:27
すみませんが作らせていただきました。

TextBoxの中身をArrayListに追加して、ArrayListの中身をLabelに移したいと思っています。
中身が入っていれば問題はないのですが、TextBoxが何もない状態でArrayListに追加してLabelに表示しようとすると、
「ArgumentOutOfRangeExceptionはハンドルされませんでした。」
「インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。」
とでて、エラーになってしまいます。

どうにかしてArrayListの中身がないときの比較をしたいのですが、
その比較の時点で同じエラーになってしまいます。

CStr(Ar(0))で型変換して比較しているのですが、それがいけないんでしょうか?

調べてみたのですが、まったくわかりません・・・。
よろしければご教授お願いいたします。