0

您好,我有一个循环需要计算 a 中日期的出现次数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 的静态日期(可能是字符串),而“另一个数组”将是某种单独的数组,其中包含一堆看似随机的代表日期出现的数字。

是否有一个已经存在的对象可以更好地做到这一点,或者我是否必须跟踪哪个日期对应于两个数组之间的哪些值?很难做一些事情,比如找到最大值/最小值、平均值等。

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 回答