LINQ講座第2回のサンプルがうまく動きません への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 るきお  (社会人)
投稿日時
2009/8/25 22:07:36
こんにちは。
お知らせありがとうございます。
確かに動かないです。何で動かないコードが記事の中にまぎれてしまったのか首をひねってしまいますが…。
近日中に改修します。
ご迷惑をおかけしました。
該当箇所は説明の便宜上、前で紹介したコードをできるだけ変えないようにしながら、新しい説明項目を追加していくというスタンスになっています。
今、頭の中にある改修案は次のようなものです。(今環境がないので試めしてはいません)。
お知らせありがとうございます。
確かに動かないです。何で動かないコードが記事の中にまぎれてしまったのか首をひねってしまいますが…。
近日中に改修します。
ご迷惑をおかけしました。
該当箇所は説明の便宜上、前で紹介したコードをできるだけ変えないようにしながら、新しい説明項目を追加していくというスタンスになっています。
今、頭の中にある改修案は次のようなものです。(今環境がないので試めしてはいません)。
Dim animals = New String() {"アメンボ", "イノシシ", "ウマ", "エリマキトカゲ", "オオカミ"}
Dim results = From animal In animals Select CStr(animal.Length)
ListBox1.Items.AddRange(results.ToArray())
投稿者 あにす  (社会人)
投稿日時
2009/8/25 07:02:00
コピペに失敗したようで上のコードに改行が入ってませんでした…。
Dim animals = New String() {"アメンボ", "イノシシ", "ウマ", "エリマキトカゲ", "オオカミ"}
Dim results = From animal In animals Select animal.Length
ListBox1.Items.AddRange(results.Cast(Of Object).ToArray())
投稿者 あにす  (社会人)
投稿日時
2009/8/25 06:59:58
IntegerからStringにキャストが出来ないんですね。
IntegerからObjectにはキャスト出来て、ListBoxはToString()した値を表示するのでこんな感じで動きますね。
最初は下記コードでいいんじゃ?と思ったら、Object型の引数にInteger型のオブジェクトは指定出来てもObject()型の引数にInteger()型のオブジェクトは指定出来ないんですね。
IntegerからObjectにはキャスト出来て、ListBoxはToString()した値を表示するのでこんな感じで動きますね。
Dim animals = New String() {"アメンボ", "イノシシ", "ウマ", "エリマキトカゲ", "オオカミ"}
Dim results = From animal In animals Select animal.Length ListBox1.Items.AddRange(results.Cast(Of Object).ToArray())
最初は下記コードでいいんじゃ?と思ったら、Object型の引数にInteger型のオブジェクトは指定出来てもObject()型の引数にInteger()型のオブジェクトは指定出来ないんですね。
Dim animals = New String() {"アメンボ", "イノシシ", "ウマ", "エリマキトカゲ", "オオカミ"}
Dim results = From animal In animals Select animal.Length
ListBox1.Items.AddRange(results.ToArray())
投稿者 トマト  (小学生)
投稿日時
2009/8/25 04:09:39
またお邪魔します。
LINQ講座第2回のサンプルがうまく動きません。
"型 'System.Int32' のオブジェクトを型 'System.String' にキャストできません。"が表示されて止まってしまいます。
LINQ講座第2回のサンプルがうまく動きません。
Dim animals = New String() {"アメンボ", "イノシシ", "ウマ", "エリマキトカゲ", "オオカミ"}
Dim query = From animal In animals Select animal.Length '←変数の名前が違う・・・。
ListBox1.Items.AddRange(query.Cast(Of String).ToArray) '←ここでInvalidCastExceptionが発生します。
"型 'System.Int32' のオブジェクトを型 'System.String' にキャストできません。"が表示されて止まってしまいます。
では、第3回を読んでLINQにもっと触れ合ってみます。