您好我有一个循环,需要计算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的静态日期集(可能是字符串),而“另一个数组”将是某种单独的数组,它们会有一堆看似随机数字代表日期的出现。
是否存在可以更好地执行此操作的对象,或者是否必须跟踪哪个日期对应于两个数组之间的值?要找到最大/最小,平均等事情很难做到。
答案 0 :(得分: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