Я пытаюсь сортировать два массива (обычно ключи & значений) оптимальным образом. В стандартном C# метод Array.Sort (Array, Array) хорошо работает для него, однако такого метода нет.Что такое эквивалент массива Array.Sort (массив, массив) в PCL
Более точно, этот код можно в стандартном C#, но не в кросс-платформенный PCL сборки:
double[] keys = new double[100];
object[] values = new object[100];
Array.Sort(keys, values);
есть ли такой метод доступен, или я должен использовать и экземпляр анонимного типа, как это?
double[] keys = new double[100];
object[] values = new object[100];
var list = Enumerable.Range(0, keys.Length).Select(i => new { Val = keys[i], Obj = values[i] }).ToList();
list.Sort((v1, v2) => v1.Val.CompareTo(v2.Val));
for (int i = 0; i < values.Length; i++)
{
values[i] = list[i].Obj;
keys[i] = list[i].Val;
}
EDIT: Некоторые люди говорят, что я должен увидеть эту функцию, однако, я использую это:
#region Assembly System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile259\System.Runtime.dll
#endregion
, даже если вы используете plc, вы должны иметь возможность использовать Array.Sort (ключи, значения) ;. он существует при использовании пространства имен System –
Вы заглянули в свой профиль .NET Prtable? Возможно, он слишком ограничен для того, что вам действительно нужно, и удаляет метод из вашего PCL. –
Если возможно, я бы рекомендовал не делать PCL для любой новой разработки. Переключитесь на библиотеку .NET Core [ориентируйте профиль в соответствии с тем, что вам нужно для совместимости с PCL] (http://blog.stephencleary.com/2012/05/framework-profiles-in-net.html) –