2012-06-11 2 views
1

Я начинающий программист, и у меня есть эта проблема в C#. Решение, вероятно, легко, но это не для меня.Получить первый элемент LinkedList <T>

У меня есть этот пользовательский класс, который наследует LinkedList, и мне нужен метод для возврата первого элемента и удаления его из списка. Код:

class CustomClass : LinkedList<CustomElement> 
{ 
    public CustomElement getFirstElement(){ 
     //here is the problem and I don't know how to solve it 
     CustomElement ce = this.First; 
     this.RemoveFirst(); 
     return first; 
    } 
} 

Проблема заключается в том, что this.First возвращается LinkedListNode. Я попытался это:

LinkedListNode<CustomElement> first = this.First; 

Но тогда оператор возврата не может, так как тип метода является CustomElement.

+3

'return first.Value'? – Rawling

+0

Рассмотрите возможность использования очереди, если вы хотите удалить (Dequeue) первый элемент при его чтении. – nunespascal

+1

Не знаю, почему у этого так много downvotes. Нашел его сразу через google, и он содержал именно ту информацию, которая мне нужна для решения моей проблемы. – anon58192932

ответ

7

Как описано в documentation, свойство ValueLinkedListNode<T> может использоваться для доступа к значению, хранящемуся в элементе списка. Поэтому назначьте CustomElement ce = this.First.Value;.

Смежные вопросы