gpt4 book ai didi

c# - 条件运算符会感到困惑,但为什么呢?

转载 作者:太空狗 更新时间:2023-10-29 22:04:18 25 4
gpt4 key购买 nike

<分区>

假设有两个类,都是同一个父类(super class)的后代,如下所示:

class MySuperClass{}
class A : MySuperClass{}
class B : MySuperClass{}

那么这个赋值不会通过编译器:

MySuperClass p = myCondition ? new A() : new B();

编译器提示 A 和 B 不兼容(无法确定条件表达式的类型,因为“A”和“B”之间没有隐式转换 [CS0173])。但它们都是 MySuperClass 类型,所以在我看来这应该可行。并不是说这有什么大不了的;只需一个简单的转换就可以启发编译器。但它肯定是 C# 编译器中的一个障碍?你不同意吗?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com