トップページ > プログラム > 2015年02月06日 > RfWtovQk

書き込み順位&時間帯一覧

4 位/142 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000224



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ふらっと C#,C♯,C#(初心者用) Part114©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
517 :デフォルトの名無しさん[]:2015/02/06(金) 22:23:36.97 ID:RfWtovQk
LINQで、下記コードの「money」をSumして、「ID」をGROUP BY し、
DataGridViewに表示させたいのですが、
「ID」のGROUP BYまでしか表示させられません。
どのように書けば実現できるのでしょうか?

class IDSum
{
public string ID;
public int money;
}

private void test()
{
var dtData = new List<IDSum>();
dtData.Add(new IDSum { ID = "1", money = 10});
dtData.Add(new IDSum { ID = "2", money = 20});
dtData.Add(new IDSum { ID = "1", money = 20});
this.dataGridView1.DataSource = dtData.GroupBy(a => a.ID).ToArray();
    }
ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
519 :デフォルトの名無しさん[]:2015/02/06(金) 22:35:48.56 ID:RfWtovQk
舌っ足らずで申し訳ありません。

結果としては、
ID money
1 30
2 20

と表示させたいんです。
(IDのORDER BYは、今のところ考えていません。)

SQLで書くと、
SELECT ID,SUM(money) FROM hoge GROUP BY ID
となるでしょうか。

LINQは、GROUPBYだけで書くサンプル等は見かけるのですが、
SUMしてGROUPBYするようなものは見つからず。。。

書き方をご存知でしたら、よろしくお願いします。
ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
522 :デフォルトの名無しさん[]:2015/02/06(金) 23:03:20.18 ID:RfWtovQk
>こんなかんじ?

LINQの書き方について、非常に参考になります。
ありがとうございます。

ただ、教えて頂いたコードを試しましたが、
表示はされませんでした。。。
ふらっと C#,C♯,C#(初心者用) Part114©2ch.net
525 :デフォルトの名無しさん[]:2015/02/06(金) 23:33:32.18 ID:RfWtovQk
>フィールドじゃなくてプロパティじゃないと駄目よ

アドバイスに従いプロパティにしたら表示されました。
ありがとうございます。

やはり、C#のコアの部分を理解してないとダメだなと
思い知りました。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。