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

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

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

Re[3]: LINQクエリで最大値の取得


(過去ログ 99 を表示中)

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

■59079 / inTopicNo.1)  LINQクエリで最大値の取得
  
□投稿者/ BOB (4回)-(2011/05/11(Wed) 15:30:23)

分類:[.NET 全般] 

2011/05/11(Wed) 16:42:01 編集(投稿者)
LINQ TO SQLでのデータ抽出について質問させてください。

以下のLINQクエリを作成してデータを取得しているのですが、(C#です)

var query =
     from s in context.Group
     select new
     {
         s.ID,
         s.Name
     };

このクエリをもとにIDの最大値を取得するには
foreachでループして最大をチェックするしかないのでしょうか?

実は便利な方法がないのかなと悩んでいます。

アドバイスを頂けると助かります。
よろしくお願いします。

引用返信 編集キー/
■59080 / inTopicNo.2)  Re[1]: LINQクエリで最大値の取得
□投稿者/ Hongliang (775回)-(2011/05/11(Wed) 16:17:30)
Max 拡張メソッドでいいんじゃないですか?
// クロージャを使ってクエリ内に仕込む手もないではないけど
引用返信 編集キー/
■59081 / inTopicNo.3)  Re[2]: LINQクエリで最大値の取得
□投稿者/ BOB (6回)-(2011/05/11(Wed) 16:44:03)
No59080 (Hongliang さん) に返信
> Max 拡張メソッドでいいんじゃないですか?
> // クロージャを使ってクエリ内に仕込む手もないではないけど

コメントありがとうございます。
以下の感じでしょうか?

int max = query.Max(s => s.ID);

C#初心者なので => とかがイマイチ理解してませんが。。。

引用返信 編集キー/
■59128 / inTopicNo.4)  Re[3]: LINQクエリで最大値の取得
□投稿者/ くり太郎 (21回)-(2011/05/16(Mon) 13:53:38)
くり太郎 さんの Web サイト
No59081 (BOB さん) に返信
> ■No59080 (Hongliang さん) に返信
>>Max 拡張メソッドでいいんじゃないですか?
>>// クロージャを使ってクエリ内に仕込む手もないではないけど
>
> コメントありがとうございます。
> 以下の感じでしょうか?
>
> int max = query.Max(s => s.ID);
>
> C#初心者なので => とかがイマイチ理解してませんが。。。

そうです。
=> はラムダ式という記法ですね。
クエリー式を使って書く場合は以下のようにしてもOKです。

var query =
from s in context.Group
select s.ID;

int max = query.Max();

引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -