首页 > 解决方案 > 仅增量到特定数字然后开始增量

问题描述

我有以下代码在一定程度上有效。然而,问题是选秀号码只能上升到球队的数量(在这种情况下,只有 6 支球队,所以选秀权应该在 1-6 中列出)。显然,只做 i++ 会让我从 1 到 30 获得 i。有没有办法只将数字增加到特定点并重新开始?

internal List<Draft> DraftOrder
{
    get
    {
        List<Draft> _draftorder = new List<Draft>();
        List<DraftPick> teamPicks = new List<DraftPick>();
        foreach (Team t in teams.OrderBy(t => t.winpct))
        {
            teamPicks.AddRange(t.DraftPicks.Where(s => s.season == season));
        }

        int i = 1;
        foreach (DraftPick d in teamPicks)
        {
            _draftorder.Add(new Draft
            {
                team = teams.Find(t => t.teamid == d.currentTeamId).TeamName,
                round = d.round,
                pick = i++
            });
        }
        return _draftorder;
    }
}

标签: c#

解决方案


这将为您工作...

internal List<Draft> DraftOrder
{
 get
 {
    List<Draft> _draftorder = new List<Draft>();
    List<DraftPick> teamPicks = new List<DraftPick>();
    foreach (Team t in teams.OrderBy(t => t.winpct))
    {
        teamPicks.AddRange(t.DraftPicks.Where(s => s.season == season));
    }

    int i = 1;
    foreach (DraftPick d in teamPicks)
    {
        _draftorder.Add(new Draft
        {
            team = teams.Find(t => t.teamid == d.currentTeamId).TeamName,
            round = d.round,
            pick = i++
        });

         if(i==6) //ADD CODE
            i=1;
    }
    return _draftorder;
 }
}

推荐阅读