プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。C#初心者です。

「メソッドの引数として渡された値をリスト型の配列に格納する」という課題に取り組んでいますが、
変数のキャストで実行時にエラーが発生し、頭を悩ませています。

作成したコードは以下のようになっています。

public class TestClass
{
 private List<byte> hogeList = new List<byte>();
 public void TestMethod( object hoge )
 {
  hogeList.Add( (byte)hoge ); ← (*)
 }
}

上記のメソッドをMain関数から

TestClass test = new TestClass();
test.TestMethod(5);

として実行すると、「hogeList」に「5」が格納される、といった動作にしたいと考えています。
しかしながら、ビルドは通るのですが、実行すると(*)の位置で止まり、

「指定されたキャストは有効ではありません。」

というメッセージが表示されます。
そこで質問なのですが、object型からbyte型にキャストする場合にはどのような記述の仕方がありますでしょうか?
ご教授よろしくお願いいたします。

A 回答 (1件)

一回intに戻してみた


http://ideone.com/oFEu5
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!