如何在托管 C++/CLI 中对数组进行排序
How to order an array in managed C++/CLI
这是我的数组:
cli::array<String^>^ ar = gcnew cli::array<String^>{ "3", "1", "4", "5", "2" };
如何按降序排列 这个数组?
您可以通过传递一个比较函数来使用Array.Sort。
using namespace System;
int Compare(String^ a, String^ b)
{
return String::Compare(a, b, StringComparison::OrdinalIgnoreCase) * -1;
}
auto ar = gcnew cli::array<String^>{ "3", "1", "4", "5", "2" };
Array::Sort(ar, gcnew Comparison<String^>(Compare));
或者,您可以按升序排序 reverse 数组。
Array::Sort(ar, StringComparer::OrdinalIgnoreCase);
Array::Reverse(ar);
这是我的数组:
cli::array<String^>^ ar = gcnew cli::array<String^>{ "3", "1", "4", "5", "2" };
如何按降序排列 这个数组?
您可以通过传递一个比较函数来使用Array.Sort。
using namespace System;
int Compare(String^ a, String^ b)
{
return String::Compare(a, b, StringComparison::OrdinalIgnoreCase) * -1;
}
auto ar = gcnew cli::array<String^>{ "3", "1", "4", "5", "2" };
Array::Sort(ar, gcnew Comparison<String^>(Compare));
或者,您可以按升序排序 reverse 数组。
Array::Sort(ar, StringComparer::OrdinalIgnoreCase);
Array::Reverse(ar);