C#中如何将输出显示的数字1替换为字符串Period?
解决方法
你只需要修改表头行的初始化逻辑即可,有两种常用实现方案:
方案1:适配当前仅循环1次的场景
你当前的for循环仅执行1次(i固定为1),直接将原来的i.ToString()替换为目标字符串"Period"即可,修改后代码如下:
//header listBoxResult.Items.Add("Numbers in the table are in Millions"); listBoxResult.Items.Add("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"); for (int i = 1; i <= 1; i++) { // 直接把i.ToString()替换为"Period"即可 string headerRow = "Period"; for (int j = interestStart; j <= interestEnd; j++) { headerRow += "\t" + j; } listBoxResult.Items.Add(headerRow); } listBoxResult.Items.Add("- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -"); //calculation
修改后输出效果如下:
Numbers in the table are in Millions ------------------------------------------- Period 4 5 6 ------------------------------------------- 7 131.6 140.7 150.4 8 136.9 147.7 159.4 9 142.3 155.1 168.9 10 148 162.9 179.1 -------------------------------------------
方案2:兼容后续多循环场景
如果后续你可能调整循环次数,需要仅i=1的时候显示Period,其他情况显示i的值,可以替换为三目判断逻辑:
string headerRow = i == 1 ? "Period" : i.ToString();
对齐优化建议
如果出现Period长度和下方数字列不对齐的情况,可以用PadRight方法固定列宽,比如统一设置第一列宽度为10个字符:
string headerRow = "Period".PadRight(10); // 下方数据行的第一列也对应使用PadRight(10)即可保证对齐
内容的提问来源于stack exchange,提问作者maverik17
相关产品推荐
相关产品推荐

