为了账号安全,请及时绑定邮箱和手机立即绑定

在c#中测试for循环的最后一次迭代

在c#中测试for循环的最后一次迭代

C#
喵喵时光机 2021-10-23 16:39:04
   public string GetUpgradesPurchasedVal()   {        string upgradesPurchasedVals = "";        for (int i = 0; i < upgradesPurchased.Count; i++) {            if (i == upgradesPurchased.Count) {                upgradesPurchasedVals += upgradesPurchased [upgradeNames[i]].ToString () + "$";            } else {                upgradesPurchasedVals += upgradesPurchased [upgradeNames[i]].ToString () + "|";            }        }        return upgradesPurchasedVals;    }所以在这里我正在循环Dictionary<string,bool> upgradesPurchased,我试图确保for循环是否在由行标记的最后一次迭代中if(i == upgradesPurchased.Count)我期望在这种情况下发生的情况是如果i等于字典中的项目数,那么字符串将在它的末尾收到一个“$”而不是一个“|” 然而似乎这条线被完全忽略了摘要:我需要测试for循环是否在最后一次迭代中,如果是,则应将“$”添加到字符串中,如果不是“|” 应该添加到字符串中
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

循环条件是i < upgradesPurchased.Count,很明显, 中的条件if (i == upgradesPurchased.Count)永远不可能为真。

由于迭代是从零开始的,因此最后一次迭代将具有i == upgradesPurchased.Count - 1


查看完整回答
反对 回复 2021-10-23
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

if(i == upgradesPurchased.Count - 1)


查看完整回答
反对 回复 2021-10-23
  • 3 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信