[英]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
這不是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;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.