Kio*_*oan 5 c# sorting compare
所以,我对 C# 很陌生,我正在尝试使用自定义比较器对数组进行排序。
我创建了一个类:
class MySorter : IComparer
{
public int Compare(object x, object y)
{
var chars = "jngmclqskrzfvbwpxdht";
if (chars.IndexOf((char)x) < chars.IndexOf((char)y))
return -1;
return chars.IndexOf((char)x) > chars.IndexOf((char)y) ? 1 : 0;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个充满单词的数组。我可以使用此比较进行排序的准确程度如何?
我认为你需要的是这个。声明一个排序方法,就像你已经做的那样。
public static int CompareStrings(string s1, string s2)
{
// TODO: your code here
}
Run Code Online (Sandbox Code Playgroud)
...并指定您需要使用的功能。
string[] myStrings = { ... };
Array.Sort(myStrings, CompareStrings);
Run Code Online (Sandbox Code Playgroud)
如果您使用泛型类,您也可以按如下方式实现:
List<string> myStrings = ...;
myStrings.Sort(CompareStrings);
Run Code Online (Sandbox Code Playgroud)