トップページ > プログラム > 2020年05月18日 > vuzvZUyca

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

7 位/116 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000001101000000000003



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん (アウアウエー Sa93-jstM)
ふらっと C#,C♯,C#(初心者用) Part147

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part147
752 :デフォルトの名無しさん (アウアウエー Sa93-jstM)[sage]:2020/05/18(月) 09:32:08.05 ID:vuzvZUyca
ループ中にList<string>へAddして追加していった文字列があります
Listの中身は仮にABCD, ABCD, EFGH, IJKL, IJKL, IJKLとします
これを集計してMessageBox.Showにて下記のように出力したいのですがどのような方法がありますか?
---------------
ABCD 2件
EFGH 1件
IJKL 3件
---------------

集計部分の方法について教えていただきたいです
二重ループにてひとつずつカウントするのは思いつくのですがもっと無駄の無い方法があるのではないかと質問させていただきました
ループの回数、Addされる文字列は決まっていないためListに格納してみました
ループ1回の中で条件に合致するとListへAddします(1回のループで追加なし or 1回だけAddの必ずどちらかです)
質問の前提条件が足りませんでしたら指摘お願いします
よろしくお願いします
ふらっと C#,C♯,C#(初心者用) Part147
756 :デフォルトの名無しさん (アウアウエー Sa93-jstM)[sage]:2020/05/18(月) 10:54:25.11 ID:vuzvZUyca
>>753-755
ありがとうございます

>>753,754
Dictionaryを使う場合、stringに文字列、intに件数
追加する際にContainsKeyで重複確認
存在しなければ[ABCD, 1]で追加、存在すればintを+1
こんな感じでしょうか?

>>754
ListでGroupBy()、Count()を使用したい場合、List追加時に
{ no = 1, name = "A", grade = 3 }のような形式で追加する必要があると思っているのですが
単純なList.Add(str)でもGroupBy()等が使えるのでしょうか?
ググった中では上記の例しか見つけられずここに質問に参りました

>>755
SQLなら良かったんですが、テキストファイルをDB取込用に変換する時点のお話なんです…
ふらっと C#,C♯,C#(初心者用) Part147
758 :デフォルトの名無しさん (アウアウエー Sa93-jstM)[sage]:2020/05/18(月) 12:26:33.79 ID:vuzvZUyca
>>757
いけました!!!
実現したいことができそうです!
ありがとうございました!


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