C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: List(Of クラス)のソートについて


(過去ログ 80 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■47649 / inTopicNo.1)  List(Of クラス)のソートについて
  
□投稿者/ ふじい (1回)-(2010/03/10(Wed) 15:48:03)

分類:[VB.NET/VB2005 以降] 

環境:VB2008
クラスClass1というものがあり、このクラスのプロパティに
p1 As Integer
p2 As String
p3 As String
があるとします。
このクラスのリストをList1 As List(Of Class1)として、このリストのソートを行い、
新たなリストList2 As List(Of Class1)を作成したいのですが、ソート順をリスト内のクラスClass1のプロパティを使用して、
・プロパティp1の値の昇順
・プロパティp2の値の昇順
・プロパティp3の値の降順
としたいのですが、簡単にソートする方法はありますでしょうか?
よろしくお願いします。
引用返信 編集キー/
■47653 / inTopicNo.2)  Re[1]: List(Of クラス)のソートについて
□投稿者/ επιστημη (2465回)-(2010/03/10(Wed) 16:02:33)
επιστημη さんの Web サイト
比較(Class1 x, Class1 y) {
  x.p1 != y.p1 なら return どっちが小さいか
 さもなくば
  x.p2 != y.p2 なら return どっちが小さいか
 さもなくば
  x.p3 != y.p3 なら return どっちが大きいか
  さもなくば
    return 同じ
}

ってゆー大小比較に基づいてソートするなり。

引用返信 編集キー/
■47658 / inTopicNo.3)  Re[1]: List(Of クラス)のソートについて
□投稿者/ 魔界の仮面弁士 (1540回)-(2010/03/10(Wed) 16:11:06)
No47649 (ふじい さん) に返信
> ソート順をリスト内のクラスClass1のプロパティを使用して、
> ・プロパティp1の値の昇順
> ・プロパティp2の値の昇順
> ・プロパティp3の値の降順
> としたいのですが、簡単にソートする方法はありますでしょうか?

Dim List2 As List(Of Class1) = (From c In List1 Order By c.p1, c.p2, c.p3 Descending).ToList()
引用返信 編集キー/
■47685 / inTopicNo.4)  Re[2]: List(Of クラス)のソートについて
□投稿者/ ふじい (2回)-(2010/03/11(Thu) 11:10:42)
No47658 (魔界の仮面弁士 さん) に返信
> Dim List2 As List(Of Class1) = (From c In List1 Order By c.p1, c.p2, c.p3 Descending).ToList()
このような構文は見たことなかったのですが、上記の方法でうまくいきました!!
魔界の仮面弁士様、ありがとうございました。
Motto勉強します。
解決済み
引用返信 編集キー/
■47688 / inTopicNo.5)  Re[3]: List(Of クラス)のソートについて
□投稿者/ 渋木宏明(ひどり) (1290回)-(2010/03/11(Thu) 11:51:31)
渋木宏明(ひどり) さんの Web サイト
> このような構文は見たことなかったのですが、上記の方法でうまくいきました!!

LINQ (この場合は LINQ to Object)といふものです。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -