0
我的问题很简单。我想从C#LinkedList中获取某个元素并将其转换为所需的类型。我该如何执行它?我尝试过这样的事情,但它不允许我。将LinkedListNode投射到对象
A old = (A)head.Next;
顺便说head
是LinkedListNode<A>
我已搜查,但没有发现相关的材料呢。
我的问题很简单。我想从C#LinkedList中获取某个元素并将其转换为所需的类型。我该如何执行它?我尝试过这样的事情,但它不允许我。将LinkedListNode投射到对象
A old = (A)head.Next;
顺便说head
是LinkedListNode<A>
我已搜查,但没有发现相关的材料呢。
如果head
是LinkedListNode<A>
,那么head.Next
也是LinkedListNode<A>
。 LinkedListNode<A>
无法投射到A
,LinkedListNode
是节点,而不是节点的值。
如果你想在节点来获取值,那么你需要调用head.Value
:
A old = head.Value;
谢谢!所以这种情况下没有任何演员阵容可用? –
没有将通用类型转换为通用参数的通用方法。用'List'来看比较容易。如果'list'是'List ''int a =(int)list'有什么意义?没有列表是int的List,而不是int本身。所以默认情况下,C#不允许这种转换。 “LinkListNode ”可能定义一种转换方法,因此演员阵容可以工作,但他们没有。 https://msdn.microsoft.com/en-us/library/85w54y0a.aspx –
shf301
谢谢!这是更好的解释。我知道了 –