我得到了一些for (int countDur = 0; countDur<= 51; countDur++)
{
string excelFieldMember = $"N7{countDur}";
string excelFieldNonMember = $"N8{countDur}";
}
,这些字段的名称来自700-751和800-851。现在,我想得到结果并存储它们。
countDur
当索引countDur = 0
小于10时会发生异常,因为700
的结果不是70
,而是if(countDur < 10)
,依此类推。
所以我用了
string.Format()
但我认为有一种更明智的方法可以实现这一目标。我知道有一个IoString()
方法,因为字段是int值,我有一个countDur
方法,我可以为此粘贴一个参数。
我的问题是,我需要将哪些内容粘贴为参数?我在C#文档中找不到它。
如果该值低于10,我希望在索引{{1}}被粘贴之前写入0。
答案 0 :(得分:2)
你想要这个:
for (int countDur = 0; countDur<= 51; countDur++)
{
string excelFieldMember = $"N7{countDur:D2}";
string excelFieldNonMember = $"N8{countDur:D2}";
}
这会使用尾随零填充数字,以便您获得700
而不是70
。
答案 1 :(得分:1)
虽然您正在寻找使用ToString
的方法,但为什么不从您需要的索引开始for
循环,而不是从0
开始:
for (int countDur = 700; countDur <= 751; countDur++)
{
string excelFieldMember = $"N{countDur}";
string excelFieldNonMember = $"N{countDur+100}";
}
无论如何,使用&#34;魔数&#34;如果字段改变,则容易出错。了解如何获取值而不是将其存储为循环硬编码。 (对于非成员字段,+100
也是如此)
答案 2 :(得分:0)
试试这个,我认为这就是你需要的东西
string excelFieldMember = $"N7{countDur.ToString("D2")}";
string excelFieldNonMember = $"N8{countDur.ToString("D2")}";