【发布时间】:2018-12-30 14:00:16
【问题描述】:
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) 标记的最后一次迭代中我期望在这种情况下发生的是如果 @987654325 @ 等于字典中的项目数,然后字符串将在其末尾收到“$”而不是“|”但是似乎该行被完全忽略了
总结:我需要测试for 循环是否在最后一次迭代中,如果是,则应将“$”添加到字符串中,如果不是“|”应该添加到字符串中
【问题讨论】:
-
使用 ` == Count - 1` 因为 Count 永远不会达到。
标签: c#