次のようなデータを含む配列があります(コンマで区切られた文字列と時間のデータ):
array [0] =チャンネル1、01:05:36
array [1] =チャンネル2、02:25:36
array [2] =グループ1、22:25:36
array [3] = Netwk、41:40:09
array [4] = LossOf、03:21:17
array [5] = LossOf、01:13:28
array [6] =チャンネル1、04:25:36
array [7] =チャンネル2、00:25:36
。。。配列[xxx]=xxx、xxx
すべての重複アイテムをカウントし、次のように見つかった各重複の平均時間を決定したいと思います。
アイテム1、チャネル1、2回の発生、各発生の平均時間は約xx分です
アイテム2、チャネル2、2回の発生、各発生の平均時間は約xx分です
Item3、LossOf、2回の発生、各発生の平均時間は約xx分です
時間形式はhh:mm:ssです
これは私がこれまでに行ったことであり、重複の合計回数しか得られません。
public void CountDuplicates(string[] myStringArray)
{
//count duplicates
ArrayList list = new ArrayList();
int loopCnt=0;
foreach (string item in myStringArray)
{
if (!String.IsNullOrEmpty(myStringArray[loopCnt]) == true)
list.Add(item);
loopCnt++;
}
loopCnt = 0;
Dictionary<string, int> distinctItems = new Dictionary<string, int>();
foreach (string item in list)
{
if (!distinctItems.ContainsKey(item))
{
distinctItems.Add(item, 0);
loopCnt++;
}
distinctItems[item] += 1;
}
foreach (KeyValuePair<string, int> distinctItem in distinctItems)
{
txtDisplayResults.AppendText("Alarm Error: " + distinctItem.Key + ", How many times: " + distinctItem.Value + "\r\n");
}
}