I 2(ダブル)のアレイメンバーとのコンストラクタを有する:オブジェクトメンバに基づいてC#配列をソートしますか?
コンストラクタを[I] .X及びコンストラクタ
(iは要素数である)[I] .YどのようにXソートすることができメンバー:コンストラクタ[]。x?
I 2(ダブル)のアレイメンバーとのコンストラクタを有する:オブジェクトメンバに基づいてC#配列をソートしますか?
コンストラクタを[I] .X及びコンストラクタ
(iは要素数である)[I] .YどのようにXソートすることができメンバー:コンストラクタ[]。x?
は、LINQで、それはちょうど
constructor = constructor.OrderBy(a => a.x).ToArray();
LINQ
なしでclass CustomClass
{
public double x;
public double y;
}
public class CustomComparer : IComparer<CustomClass>
{
private CustomComparer() { }
public static CustomComparer Instance { get { return _SingeltonInstance; } }
private static CustomComparer _SingeltonInstance = new CustomComparer();
public int Compare(CustomClass a, CustomClass b)
{
return a.x.CompareTo(b.x);
}
}
public class myCode
{
public void SomeFuction(CustomClass[] myClass)
{
//myClass is unsorted here;
Array.Sort(myClass, CustomComparer.Instance);
//myClass is sorted here;
}
}
これはLINQではありません。 LINQ(IEnumerable)はOrderByを使用します。しかし、[静的Array.Sort'](http://msdn.microsoft.com/en-us/library/system.array.sort.aspx)と['List.Sort'](http: /msdn.microsoft.com/en-us/library/3da4abas.aspx)。 –
@pstこれは私の電話からメモリから入力されました。修正されました。 –
ちょっとあなたのつま先について;-) –
(*理由*彼らは動作しなかった理由のために一緒に* ANY *の試行を含む)実際のコードを貼り付けてください。名前以外の「コンストラクタ」はありません。 –
http://stackoverflow.com/questions/1301822/how-to-sort-an-array-of-object-by-a-specific-field-in-cこれはインプレースの配列ソートではありませんが、ほとんどの場合、動作します。または、[Array.Sort](http://msdn.microsoft.com/en-us/library/system.array.sort.aspx)のドキュメントを参照してください。 –
(これはおそらくLINQのアプローチに加えて、Array.Sortの使用方法を示す解答を見るのが面白いでしょう。私の簡単な検索で見つけたすべての答えは、LINQ/IEnumerableおよび特に配列ではありませんでした。 Array.Sortのメリットと松葉杖は、それが変異しているということです。) –