回答編集履歴

3

追記2

2022/04/20 03:57

投稿

退会済みユーザー
test CHANGED
@@ -28,3 +28,13 @@
28
28
 
29
29
  ToInt32(Object)
30
30
  https://docs.microsoft.com/ja-jp/dotnet/api/system.convert.toint32?view=net-6.0#system-convert-toint32(system-object)
31
+
32
+ ---
33
+
34
+ **【追記2】**
35
+
36
+ 下のコメント欄の 2022/04/20 12:53 の私のコメントで「後で回答欄に画像を貼っておきます」と書いた件です。
37
+
38
+ Object.GetType とかをハードコーディングして使うより、デバッガを使ってローカル変数 tests を見る方が簡単で良さそうです。ローカルウィンドウを見ると、種類が tests[0] と tests[1] は object {int}、tests[2] は object {double} となっているはずです。
39
+
40
+ ![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-04-20/cd20c2a2-012f-4b8e-91d6-72a049ad3672.jpeg)

2

誤記訂正

2022/04/20 03:25

投稿

退会済みユーザー
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  > value = Convert.ToInt32(tests[2]);
26
26
 
27
- で問題なく double 型に変換できたのは Convert.ToInt32 メソッドには引数に object 型を取るオーバーロードがあるからでしょう。
27
+ で問題なく int 型に変換できたのは Convert.ToInt32 メソッドには引数に object 型を取るオーバーロードがあるからでしょう。
28
28
 
29
29
  ToInt32(Object)
30
30
  https://docs.microsoft.com/ja-jp/dotnet/api/system.convert.toint32?view=net-6.0#system-convert-toint32(system-object)

1

追記

2022/04/20 03:20

投稿

退会済みユーザー
test CHANGED
@@ -15,3 +15,16 @@
15
15
 
16
16
  ボックス化とボックス化解除 (C# プログラミング ガイド)
17
17
  https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/types/boxing-and-unboxing
18
+
19
+ ---
20
+
21
+ **【追記】**
22
+
23
+ ちなみに、
24
+
25
+ > value = Convert.ToInt32(tests[2]);
26
+
27
+ で問題なく double 型に変換できたのは Convert.ToInt32 メソッドには引数に object 型を取るオーバーロードがあるからでしょう。
28
+
29
+ ToInt32(Object)
30
+ https://docs.microsoft.com/ja-jp/dotnet/api/system.convert.toint32?view=net-6.0#system-convert-toint32(system-object)