【发布时间】:2019-06-04 11:41:35
【问题描述】:
下面的代码可以正常工作。
MyType convertedItem = (MyType)item;
但是我从
得到一个编译器错误var convertedItem = item as MyType;
无法通过引用将类型“OtherType”转换为“MyType” 转换,装箱转换,拆箱转换,包装 转换,或空类型转换。
任何人都可以解释为什么会发生这种情况。显式转换工作正常,但 AS 甚至无法编译。
** 在这种情况下如何获得“AS”功能。也就是说,我需要做一个 trycast,并且不希望调用异常处理程序来完成它。 **
【问题讨论】:
-
你的类型是结构体吗?
-
@nilsk 我知道如何转换我不知道的内容,而您的“重复”没有解释是什么时候 AS 不会工作,即使明确的演员可以..
-
as不适用于struct。 -
您在发布此之前是否搜索过其他答案?我在这里找到了类似的东西:link
标签: c#