2013-12-13 3 views
1

У меня есть связанный список, который содержит представления. Я хочу назначить последний элемент вида в списке другой переменной представления.LinkedList in C# xamarin

Это то, что я сделал: -

private readonly LinkedList<View> bufferedViews = new LinkedList<View>(); 
View myView = bufferedViews.RemoveLast(); 

также это: -

if (bufferIndex + 1 > sideBufferSize) 
{ 
    releaseView(bufferedViews.RemoveFirst()); 
} 

Но я получаю сообщение об ошибке сказав: -

Cannot convert from void to Android.Views.View 

ответ

1

Это не Xamarin вопрос. Ваш код просто сломан. Оба RemoveFirst и RemoveLast - void методы - они не возвращают первые/последние элементы, они просто удаляют их.

Вы должны будете использовать First и Last свойства, а затем удалить первые и последние значения после этого - если вы на самом деле хотите удалить значение. (Это не ясно из кода, действительно ли вы делаете.)

Вы всегда можете написать методы расширения, чтобы делать то, что вы хотите, хотя:

public static T FetchAndRemoveFirst<T>(this LinkedList<T> list) 
{ 
    T first = list.First.Value; 
    list.RemoveFirst(); 
    return first; 
} 

public static T FetchAndRemoveLast<T>(this LinkedList<T> list) 
{ 
    T last = list.Last.Value; 
    list.RemoveLast(); 
    return last; 
}