网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月24日
漏签
0
天
c#吧
关注:
188,189
贴子:
821,846
看贴
图片
吧主推荐
视频
游戏
13
回复贴,共
1
页
<<返回c#吧
>0< 加载中...
问一个多态问题
只看楼主
收藏
回复
575770893
c#爱好者
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
Base 是一个abstract 的类,Derived继承Base,Derived的实例个数较少,我们可以:
LIst<Base> =new List<Base>{new Derived(d1),
new Derived(d2),
new Derived(d3)};
如果Derived个数较多,比如100个,怎么放到一个List<Base>里面呢?
woaisln1314
c#大牛
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
for循环内list.add就可以实现吧
马鞍山星宝网络科技
酷狗输入法下载,为您提供音乐播放器下载 、提供听书、有声小说、有声书、相声评书、儿童故事等在线听和MV播放等服务。酷狗输入法就是歌多!小说相声也很多!场景音乐也...
2025-03-24 12:53
广告
立即查看
正怒月神
c#诠释者
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
IEnumerable<Base> a = new List<Base>();
List<Derived> b = new List<Derived>();
a = b;
正怒月神
c#诠释者
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
你前面的帖子说的是 int和 double,
你又不想使用便利赋值。
可他们不存在继承关系。所以无法使用协变的思想。
但是这个帖子base和Derived是继承关系,所以可以使用协变来解决。
正怒月神
c#诠释者
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
顺带说一句,协变和逆变,你需要先了解 C# in out这两个关键字
目前只支持 泛型接口和委托
c13丶
c#牛人
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
//derivedList 为Derived类实例的集合 List<Derived>
List<Base> list = derivedList.ToList<Base>();
沉睡的木木夕
c#诠释者
12
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
既然是多态的问题,那我就不回答了
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示