我需要在我的項目中實現特定的排序機制。如何實現特定的排序?
上下文:最終用戶希望在可用時首先看到一些項目。
private List<string> SpecialSort(string[] all, string[] pref)
{
//I want to return my total collection: sorted like specified in my prefered order.
return all.ToList(); // But now in the correct order!
}
[TestMethod]
public void TestSpecialSort()
{
//Arrange
var myTotalColllection = new[] { "foo", "bar", "baz", "qux", "corge", "waldo", "thud" };
var myPreferedOrder = new[] { "waldo", "absint", "foo", "baz" };
//Act
var result = SpecialSort(myTotalColllection, myPreferedOrder);
//Assert
var expectedResult = (new[] { "waldo", "foo", "baz", "bar", "qux", "corge", "thud" }).ToList();
Assert.IsTrue(result.SequenceEqual(expectedResult));
}
我不知道在.NET框架中存在這種排序功能,如果它確實存在請賜教。
爲什麼人們反對投票這個問題?這是一個關於編程的問題:實現一個排序機制。我遇到了很多情況,需求是'很高興'以用戶指定的順序顯示項目。用戶指定的訂購通常不包括整個集合,有時甚至不包括手頭集合中沒有的項目。 –