处理奇数时的模数用法

本文关键字:用法 处理 | 更新日期: 2023-09-27 18:28:05

我有一个大约50到60个项目的列表,我希望能够动态地将它们划分为多列。我使用嵌套的for循环,当项目数量为偶数时,列表会正确划分。但是,当项目数量为奇数时,剩余的(模数)项目将被忽略。我已经玩了一段时间了,还没有获得金牌。我希望有一个比我更聪明的人&将提供帮助。

谢谢。

    for (int fillRow = 0; fillRow < numOfCols; fillRow++)
    {
            for (int fillCell = 0; fillCell < (siteTitles.Count / numOfCols); fillCell++)
            {
                linkAddress = new HyperLink();
                linkAddress.Text = tempSites[fillCell].ToString();
                linkAddress.NavigateUrl = tempUrls[fillCell].ToString();
                mainTbl.Rows[fillCell].Cells[fillRow].Controls.Add(linkAddress);
            }
      }

处理奇数时的模数用法

是的,问题就在这里:

fillCell < (siteTitles.Count / numOfCols)

该划分将向下四舍五入,因此,例如,如果有13个标题,numOfCols为5,它将给出2,这意味着项目10-12将不会被使用。

我建议您实际上循环所有项目,并计算出每个项目的行和列:

for (int i = 0; i < siteTitles.Count; i++)
{
    int row = i / numOfCols;
    int col = i % numOfCols;
    // Fill in things using row, col and i
}

(目前还不清楚你在做什么,因为你在循环条件中使用siteTitles,在循环体中使用tempSites,在提取数据时也没有使用fillRow…基本上我认为你仍然有一些错误…)