質問編集履歴
4
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,15 +5,12 @@
|
|
5
5
|
|
6
6
|
**コード**
|
7
7
|
```C#
|
8
|
-
// 省略 //
|
9
|
-
// values.GetType().ToString() == "System.Object[]"
|
10
|
-
// values[304].GetType().ToString() == "System.Double"
|
11
|
-
// values[304] == 2
|
12
|
-
|
8
|
+
int value = 0;
|
13
|
-
|
9
|
+
double test = 2.0;
|
14
|
-
|
10
|
+
object[] tests = new object[] {0, 1, 2.0};
|
11
|
+
value = (int)test;
|
15
|
-
|
12
|
+
value = Convert.ToInt32(tests[2]);
|
16
|
-
|
13
|
+
value = (int)tests[2]; // 型 'System.InvalidCastException' のハンドルされていない例外が test.exe で発生しました
|
17
|
-
|
14
|
+
// 指定されたキャストは有効ではありません。
|
18
15
|
```
|
19
16
|
|
3
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,12 +8,12 @@
|
|
8
8
|
// 省略 //
|
9
9
|
// values.GetType().ToString() == "System.Object[]"
|
10
10
|
// values[304].GetType().ToString() == "System.Double"
|
11
|
-
// values[304] == 2
|
11
|
+
// values[304] == 2
|
12
12
|
int value = 0;
|
13
13
|
double test = 2;
|
14
14
|
value = (int)test; // value == 2 (型変換成功)
|
15
15
|
value = Convert.ToInt32(values[304]); // value == 2 (型変換成功)
|
16
|
-
value = (int)values[304] // (int)values[304]は型'System.
|
16
|
+
value = (int)values[304] ; // (int)values[304]は型'System.InvalidCastException'の例外をスローしました (型変換失敗)
|
17
17
|
|
18
18
|
```
|
19
19
|
|
2
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
double test = 2;
|
14
14
|
value = (int)test; // value == 2 (型変換成功)
|
15
15
|
value = Convert.ToInt32(values[304]); // value == 2 (型変換成功)
|
16
|
-
value = (int)values[304] // (int)values[304]は型'System.
|
16
|
+
value = (int)values[304] // (int)values[304]は型'System.invalidCastException'の例外をスローしました (型変換失敗)
|
17
17
|
|
18
18
|
```
|
19
19
|
|
1
内容修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
**内容**
|
2
2
|
配列に格納されているdouble型のデータをint型へキャストすると失敗する原因が分かりませんでした。
|
3
|
+
普通のdouble型の値はint型にキャスト変換できたり、
|
3
4
|
Convert.ToInt32()では問題なくint型に変換できました。
|
4
5
|
|
5
6
|
**コード**
|