2013-12-13 6 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

되지 않습니다 발행물. 코드가 방금 망가졌습니다. RemoveFirstRemoveLast 모두 void 방법입니다. return 첫 번째/마지막 요소가 없으므로 제거됩니다.

당신은 다음의 FirstLast 속성을 사용하여 이후 처음과 마지막 값을 제거해야합니다

- 값을 제거 원하는 실제로 을 가정. (그것은 당신이 정말로 여부를 코드에서 분명하지 않다.) 당신은 항상 당신이 생각하고 싶은 일을하기 위해 확장 방법을 쓸 수

:

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; 
}