我試圖讓一個擴展方法和我有這個情況有些困難,實例的順序:C#的LINQ - 訂單將IEnumerable基於關閉的另一個IEnumerable的的項目
IEnumerable<string> list1 = // { "A", "B", "C" }
IEnumerable<string> list2 = // { "B", "D" }
IEnumerable<string> list3 = // { "D", "A", "C". "B" }
list1.OrderByEnumerable(list3) -> // { "A", "C", "B" }
list2.OrderByEnumerable(list3) -> // { "D", "B" }
我一直在試圖沿東西行:
static IEnumerable<T> OrderByEnumerable<T>(this IEnumerable<T> data, IEnumerable<string> data2)
{
return data.Zip(data2, (x, y) => //
}
,但我很快就意識到我需要一些方法通過枚舉接口迭代,找出我需要「跳過」的值,不知何故。任何想法或指向正確的方向?
當'list3'中不存在物品時預期的結果是什麼? – Fabio
如果您願意使用列表而不是IEnumerable,[這裏](https://stackoverflow.com/a/15275394/6741868)是一個可以幫助您的單行答案。 –
@Fabio是的,你的問題是有效的,除非或直到OP回答它,否則很難發佈答案,因爲我不知道該怎麼做,所以我拖延了。更好的是,我要去睡覺:) – CodingYoshi