Top > プログラミング > .NET Tips> 配列やコレクション内の要素を並び替える

配列やコレクション内の要素を並び替える」への評価、コメント

評価

良い / 悪い = 40 / 3 (「良い」の割合 = 0.930 , 人気度 = 1.519

評価する

コメント一覧


通常のコメント
テル 2016/06/17 (Fri) 16:36:20
LINQによる構造体のソートの簡潔さに感動です。ありがとうございます。
好きな要素の値で,ものの数行で並び替えられるのは感動です。

通常のコメント
管理人 2016/06/3 (Fri) 01:34:53
> クラスをラムダ式で並べ替える以下の記述を追加して頂けると助かります。
>
> 例)
> lst.Sort((a, b) => a.売上日 - b.売上日);
>
> lst.Sort((a, b) =>
> {
> if (a.売上日 == 0 && b.売上日 == 0) return 0;
> if (a.売上日 == 0) return 1; //0は最後
> if (b.売上日 == 0) return -1; //0は最後
> return a.売上日 - b.売上日;
> });

1番目の例は、Array.Sortを使った例ですが、すでにほぼ同じものがあります。2番目の例ですが、この記事では並び替えの方法を紹介することが目的ですので、できるだけサンプルは簡単なものにしたいという気持ちがあります。

> >Return Me.Compare(DirectCast(x, String), DirectCast(y, String))
が正しいと思われます。

修正しました。ご報告ありがとうございました。

通常のコメント
とおりすがり 2016/03/2 (Wed) 17:00:02
いつも参考にさせて頂いております。

一点誤記を報告させて頂きます。
>IComparer<T>ジェネリックインターフェイスを実装する
の、VBコードにある
>Return Me.Compare(DirectCast(x, String), DirectCast(y, String).Length)
は、
>Return Me.Compare(DirectCast(x, String), DirectCast(y, String))
が正しいと思われます。

宜しくお願い致します。

通常のコメント
直之介 2016/02/18 (Thu) 14:20:08
大変役に立つ情報が多く、いつも利用させていただいています。
ただ、このソートについては、いつ見ても解決に時間がかかってしまっています。
そのため、クラスをラムダ式で並べ替える以下の記述を追加して頂けると助かります。

例)
lst.Sort((a, b) => a.売上日 - b.売上日);

lst.Sort((a, b) =>
{
if (a.売上日 == 0 && b.売上日 == 0) return 0;
if (a.売上日 == 0) return 1; //0は最後
if (b.売上日 == 0) return -1; //0は最後
return a.売上日 - b.売上日;
});

よろしくお願いいたします。

通常のコメント
管理人 2016/02/12 (Fri) 01:12:29
> array.sortだけでなく、array.reverseも載せていただくと助かります。

Array.Reverseについて、以下のページで紹介させていただきました。ご意見、ありがとうございました。

http://dobon.net/vb/dotnet/programing/arrayreverse.html

通常のコメント
匿名 2015/12/24 (Thu) 10:57:49
> 2015年10月15日 02:35:23
「降順」と書いたのは、Array.sortは「昇順」でソートされていると思ったので、
その反対である「降順」としました。
私の認識では、昇順の対義語は降順でした。

通常のコメント
匿名 2015/10/15 (Thu) 02:35:23
> 2015年8月24日 08:00:03
細かい事ですが、誤解を生みそうでしたので念のため

array.reverse は、逆順ですね
もしくは、添え字の降順?

通常のコメント
匿名 2015/08/24 (Mon) 08:00:03
いつも参考にさせていただいています。
array.sortだけでなく、array.reverseも載せていただくと助かります。
降順で並べ替えたいときにどうすればいいかわからなかったためです。

評価の理由
匿名 2007/07/18 (Wed) 17:47:04
評価:良い
サンプルが豊富で分かりやすかった

評価の理由
ken 2006/04/18 (Tue) 14:21:18
評価:良い
IComparerインターフェイスのコード例を参考にさせて頂きました。

評価の理由
geo0wiz 2005/01/6 (Thu) 14:47:48
評価:良い
Array.Sortの使い方、一番端的で判りやすかった。

評価の理由
2003/11/20 (Thu) 00:36:09
評価:良い
VB初心者です。
文字列ソートにて既定のソートではウ、ヴなどが後に続く文字に影響を受ける。この方法で影響を受けなくできました。システムのソートを使用できるので大幅なソート時間の短縮が出来ました。

コメントの投稿

[説明]