簡體   English   中英

C#Xamarin中的LinkedList

[英]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問題。 您的代碼已損壞。 RemoveFirstRemoveLast都是void方法-它們不返回前一個/后一個元素,而只是將其刪除。

您需要使用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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM