C# 将Object类转化为List<T>类,其中T的类型不是object类型。

2025-01-05 17:19:00
推荐回答(5个)
回答1:

你要先理解泛型集合,泛型的意思就是规范、统一,你要转不同类型的话用arraylist吧
如果非要用List那就用is做判断,用as转换类型

回答2:

ghotos 说的很对,你既然用泛型了,就代表你知道这个类型了,如果你不知道类型,就用List就可以了。
装箱拆箱是指值类型和引用类型之间的转换,这点ghotos 说的不是很正确。

回答3:

protected void Page_Load(object sender, EventArgs e)
{
List list = new List();
object obj = new ValueTable(1);
ValueTable val = obj as ValueTable;
if (val != null)
{
list.Add(val);
}
}
class ValueTable
{
private int id;
public ValueTable(int id)
{
this.id = id;
}
}

回答4:

你想要干嘛?既然是泛型List,里面只好放这个类型,你add进去的时候,系统会自动尝试转换来着

回答5:

ValueTable vt = (ValueTable )obj;
list.add(vt );
这样做可行 但是不好