プロジェクト内で特定のソートメカニズムを実装する必要があります。特定の並べ替えを実装する方法は?
コンテキスト:エンドユーザは、利用可能な場合、最初にいくつかのアイテムを見ることを望みます。
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フレームワーク内にこのソート機能が存在していることに気づいていませんが、存在する場合は私に教えてください。
を試すことができますか?プログラミングに関する質問です。ソートメカニズムを実装することです。私は、要件がユーザーが指定した順序でアイテムを表示するために「持っているのがいい」というような多くの状況に遭遇しました。ユーザーが指定した注文は、しばしばコレクション全体をカバーしていないか、時には手元のコレクションでは利用できないアイテムです。 –