前提・実現したいこと
C#を始めて1ヶ月の者です。
ログの集計をしています。
下記のログから日付とオペレーターごとの実行平均時間を求めようとしています。
1992-11-10 12:23.23 [12] tag:START operator:Me
1992-11-10 12:23.25 [12] tag:END operator:Me
1992-11-10 12:24.11 [12] tag:START operator:Me
1992-11-10 12:24.23 [12] tag:END operator:Me
1992-11-10 12:45.25 [8] tag:START operator:Father
1992-11-10 12:46.23 [8] tag:END operator:Father
私の作成のしたものが間違っており、以下のような指摘をされました。
「スレッド([12],[8])ごとに分けて、END-STARTで差を求めなさい」
どのようにしてスレッドごとに分ければいいのかが分かりません。
どなたか教えていただけませんか。
該当のソースコード
C#
1static void main(){ 2 System.IO.StreamReader file =new System.IO.StreamReader(@"c:\test.txt"); //ログを読み込む 3while((line = file.ReadLine()) != null) 4{ 5 string date = line.Substring(0,10); //日付を抜き出す 6 string thread = line.Substring(20,5); //threadを抜き出す 7 string tag = line.Substring(25,10); //tagを抜き出す 8 string operator = line.Substring(35,12); ////operatorをぬきだす 9 string time = line.Substring(11,9); //timeを抜き出す 10 string key = date + ',' + thread + ',' + tag + ',' + operator; //keyを設定 11 12 13
試したこと
DictionaryのKeyに設定したkeyを、Valueにtimeをとってthreadごとに分けようとしました。
しかし、DictionaryのKeyは一意であるため、同じkeyは入れられないという問題が起こります。
どのようにして、threadごとに分ければ良いでしょうか?
補足情報(FW/ツールのバージョンなど)
Visual Stadioを使用しております。
回答1件
あなたの回答
tips
プレビュー