作者andycg (Hank)
看板C_Sharp
标题[问题] List<T> function中增加不同类别的个数
时间Thu Jun 30 10:24:35 2016
各位高手大大好。
想请教一个已经卡关三天了的问题...
已经尽力搜寻,逼不得已才上来求救,请各位帮个忙
---------------------------------------------
我把我的问题修改成简单理解的方法,另有实际用途
public class Parent {...}
public class Child01 : Parent {...}
public class Child02 : Parent {...}
...
class main {
List<Child01> C1 = new List<Child01>();
List<Child02> C2 = new List<Child02>();
public static void Main() {
Resize<Child01>(C1, 30);
Resize<Child02>(C2, 50);
}
void Resize<T>(List<T> list, int count) {
while(list.count <= count)
list.Add(new T);
while(list.count >= count)
list.RemoveAt(count);
}
}
-------------------------------
想请问Resize这个function的正确写法、
以及在.Add()中的new正确写法
如果是一般变数T的用法还行,网路上基础教学很多
但是配上List後变得不知道怎麽写...
恳请各位大大指教,由衷感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.138.173.202
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1467253477.A.189.html
1F:→ ssccg: 在方法定义加上 where T : new() 06/30 11:00
2F:→ ssccg: 然後用 new T() 06/30 11:00
3F:推 YahooTaiwan: 泛型类型条件约束 06/30 11:34
5F:→ andycg: 问题已解决 非常感谢二位大大指点 06/30 12:31
6F:→ FancyWing: resize while 用 < 跟 > 就可吧? 为啥要多一个又杀掉? 06/30 23:30
7F:→ FancyWing: 而且 2nd while 用 = 会有问题吧? 06/30 23:32