PCL中的Array.Sort(数组,数组)的等价物是什么

时间:2017-02-10 15:16:15

标签: c# arrays xamarin

我试图以最佳方式对两个数组(通常是键和值)进行排序。在标准C#中,方法Array.Sort(Array,Array)适用于它,但是,没有这样的方法。

更明确地说,此代码可以在标准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;
        }

编辑:有人说我应该看到这个功能,但是,我正在使用它:

    #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

我所看到的只是No array sort

1 个答案:

答案 0 :(得分:1)

您可以使用Array.Sort(),即使您使用 PLC 项目,也只需确保添加以下内容:

using System.Collections;
using System.Collections.Generic;