05
2018
02

电脑行为管理软件泛型类型列表转换

这段代码尝试把Tortoise列表转换为Animal列表。如果允许这么做,就可以把Lion添加到列表中,因为它也继承了Animal。这会使最后一个语句不一致,因为Tortoise列表不再只包含Tortoise。

这演示了不能在泛型类型之间进行转换,但在一些情况下允许转换类型。例如,下面的代码段把Tortoise列表转换为Animal的IEnumerable。因为IEnumerable接口不允许修改集合,所以这是一个安全、允许进行的转换。

C#

Private void ValidGenericCast(){

List<Tortoise>TortoiseList=newList<Tortoise>();

TortoiseList.Add(new Tortoise());

IEnumerable< Animal > AnimalList=TortoiseList;

Var firstAnimal=animalist.First();

}

VB

Public Sub ValidGenericCast()

Dim TortoiseList As New List(OfTortoise)

TortoiseList.Add(New Tortoise)

Dim animalist As IEnumerable(OfAnimal)=tortoiseList

Dim firstAnimal As Animal=animalist.First()

End Sub

 

« 上一篇

相关文章:

评论列表: