如您所料,以下代码会出现编译错误:ListaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;但是,当使用IEnumerable时,您只会收到运行时错误。IEnumerableaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;为什么C#编译器允许这样做? 最佳答案 我想这是因为IEnumerable是一个接口(interface),其中某些实现可以显式转换为
如您所料,以下代码会出现编译错误:ListaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;但是,当使用IEnumerable时,您只会收到运行时错误。IEnumerableaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;为什么C#编译器允许这样做? 最佳答案 我想这是因为IEnumerable是一个接口(interface),其中某些实现可以显式转换为