teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

勘違いしていた点を追記

2021/02/19 14:42

投稿

nono1234
nono1234

スコア25

title CHANGED
File without changes
body CHANGED
@@ -47,4 +47,7 @@
47
47
 
48
48
  case2では奇妙なことにVisualStudioでデバッグ時にウォッチ式やイミディエイトウィンドウで確認すると value is IEnumerable<object>はTrueと表示されるのですが,実行結果はFalseになってしまいます。直感的にもvalue is IEnumerable〈object〉はtrueだと思うのですが、コードでは判定はfalseです。
49
49
 
50
- setter内でvalueがIEnumerable<object>かどうか判別し分岐する方法はあるのでしょうか?また何故,VisualStudioではTrueになるのでしょうか?
50
+ setter内でvalueがIEnumerable<object>かどうか判別し分岐する方法はあるのでしょうか?また何故,VisualStudioではTrueになるのでしょうか?
51
+
52
+ 追記:
53
+ そもそも value is IEnumerable<object>でvalueがIEnumerableを実装しているかを判別できませんでした.string[]ではtrueになるので勘違いしたまま覚えておりました.

1

2021/02/19 14:42

投稿

nono1234
nono1234

スコア25

title CHANGED
File without changes
body CHANGED
@@ -45,6 +45,6 @@
45
45
  }
46
46
  ```
47
47
 
48
- case2では奇妙なことにVisualStudioで value is IEnumerable<object>はTrueと表示されるのですが,実行結果はFalseになってしまいます
48
+ case2では奇妙なことにVisualStudioでデバッグ時にウォッチ式やイミディエイトウィンドウで確認すると value is IEnumerable<object>はTrueと表示されるのですが,実行結果はFalseになってしまいます。直感的にもvalue is IEnumerable〈object〉はtrueだと思うのですが、コードでは判定はfalseです。
49
49
 
50
50
  setter内でvalueがIEnumerable<object>かどうか判別し分岐する方法はあるのでしょうか?また何故,VisualStudioではTrueになるのでしょうか?