0

こんにちは私はの日付の出現回数を数える必要があるループがありますdatagridview。その発生数を保存し、同じ日付の別の発生数が見つかったときにその数をインクリメントするにはどうすればよいですか?私は次のようなものを想像しています:

for (int k = 0; k < (companyInfo.Rows.Count - 1); k++)
{
    for (int j = 0; j< dateArray.Length; j++)
    {
       if (companyInfo.Rows[k].Cells["StartDate"].Value.ToString().Trim() == dateArray[j])
       {
         //Find matching index in another array, increment that number
       }
    }
}

companyInfoが各行をループしているdatagridviewである場合、dateArrayは長さ364の静的な日付のセット(文字列の場合もあります)であり、「別の配列」は、一見ランダムに見える一連の個別の配列になります。日付の出現を表す数値。

これをより適切に行うことができるオブジェクトがすでに存在しますか、それとも2つの配列間のどの値に対応する日付を追跡する必要がありますか?最大/最小、平均などを見つけるのは難しいでしょう。

4

1 に答える 1

2

Dictionary<string, int>(名前空間で)を使用しますSystem.Collections.Generic

IDictionary<string, int> count = new Dictionary<string, int>();

// In your loop
if (count.ContainsKey(your_date)){
    count[your_date]++;
} else {
    count.Add(your_date, 1);
}
// END In your loop
于 2012-07-03T02:43:19.010 に答える