XPデータを、ArrayList作成時にIComparerインターフェイスを使って並べ替えをする処理を作成しました。キャストが有効ではありません。とエラーが表示されてしまいました。あつかましいとは、参考になるサイト等を紹介して頂きたいのですが皆様宜しくお願いします。IComparerを使用した場合は、For等でインデックス値を進めて値を取得するしか方法はないのでしょうか?いえ、そんなことはないです。処理にてここの記述が誤っているので例外が発生していますが、正しく記述すればIndexで参照できますよ。MSDNで例外の原因を調べてみてください。さん返信ありがとうございます。MSDNで例外の原因を調べてみてください。http://msdn2.microsoft.com/ja-jp/library/4x2877xb(VS.80).aspx早速、修正してみました。Object)修正後、実行したらインデックス3番目の3つの項目(OEIJI,OHIRAGANA,OSUUJI)を取得できました。あつかましい質問なのですが、インデックス3番目のOSUUJI項目だけを取得する方法も、CTypeを使用すれば宜しいのでしょうか?申し訳ありません、理解するのに時間が掛かるものですから。返信>>まずはMSDNで例外の原因を調べてみてください。Object)al_TEST.Item(2)が返す値の型はObject型ですので、ObjectからObjectに型変換するのでは意味がありませんよ。Onを指定されることをお勧めします。詳細はヘルプで調べてみてください)その前のal_TEST.Addメソッド呼び出しでSortClassのインスタンスを追加しているのですから、SortClassに型変換するべきでしょう。修正後、実行したらインデックス3番目の3つの項目(OEIJI,OHIRAGANA,OSUUJI)を取得できました。CTypeを使用すれば宜しいのでしょうか?SortClassのフィールドのOSUUJIを取得するためには、まずObjectからSortClassに型変換する必要がありますよね。申し訳ありません、理解するのに時間が掛かるものですから。この辺を理解するには、クラスとは何か?インスタンスとは何か?を正しく理解しておく必要があります。オブジェクト指向について学べそうなVB.netの入門書などで勉強されることをお勧めします。さんご指摘ありがとうございます。ObjectからObjectに型変換するのでは意味がありませんよ。String)上記のとおり修正しましたら、正常に取得が出来ました。Onを指定されることをお勧めします。常に指定していますよ、私のソースの一番上に記述があります。ご指摘ありがとうございます。>>申し訳ありません、理解するのに時間が掛かるものですから。理解しておく必要があります。オブジェクト指向について学べそうなVB.netの入門書などで勉強されることをお勧めします。ご指摘のどおり入門書等で勉強し直します。さんご指摘ありがとうございました。解らない事が出来ましたら利用させて頂きますのでその時はまた、ご助力して下さいますようお願いします。上記のとおり修正しましたら、正常に取得が出来ました。AAA.OSUUJIでよいでしょう。String)によればString型ですから。Onを指定されることをお勧めします。常に指定していますよ、私のソースの一番上に記述があります。ご指摘ありがとうございます。修正後、実行したらインデックス3番目の3つの項目(OEIJI,OHIRAGANA,OSUUJI)を取得できました。以上のように記載がありました。Onにした方がよいという指摘をしました。何かが違ったようですね。さん、ご指摘ありがとうございます。String)によればString型ですから。無駄な変換だったのですね、ご指摘ありがとうございます。Onを指定されることをお勧めします。常に指定していますよ、私のソースの一番上に記述があります。>>でも、ご指摘ありがとうございます。Object)>>>>修正後、実行したらインデックス3番目の3つの項目(OEIJI,OHIRAGANA,OSUUJI)を取得できました。以上のように記載がありました。Onにした方がよいという指摘をしました。何かが違ったようですね。申し訳ありませんでした、私の説明不足でした。Object)を指定し、デバッグ実行で確認していたら、AAAの値にscと同じ内容が取得出来ていたのでつい「取得できました。」と書き込んでしまいました。String)の指定は、ご指摘のように扱うことが出来ていませんでした。私の説明不足で、ご不快な思いをさせていたら申し訳ありませんでした。次回からは、正確な情報を書き込みたいと思います。