我有一个字符串格式,其中包含两个整数变量,每个变量都需要格式化为可变长度:
int x = 1234;
int y = 42;
// Simplified, real values come from method outputs, so must use the variables:
int xFormatDigitCount = 7;
int yFormatDigitCount = 3;
var xStringFormat = new string('0', xFormatDigitCount); // "0000000"
var yStringFormat = new string('0' ,yFormatDigitCount); // "000"
目前我只能使用整数变量的.ToString()
方法来获得所需的格式:
var xString = x.ToString(xStringFormat);
var yString = y.ToString(yStringFormat);
return $"{xString}-{yString}";
但这似乎是一种额外的负担,因为字符串插值支持格式{var:format}。有没有一种方法可以仅使用字符串插值获取我的字符串,而不使用x和y的ToString()
?
}
,而不是使用}}
?对我来说,string.Format("{{0:{0}}}-{{1:{1}}}", new string('0', xFormatDigitCount), new string('0', yFormatDigitCount))
看起来完全没有问题。 - svickstring.Format
中的}
的问题,于是我开始遵循 建议。我已经改用字符串插值作为另一种实现你所说的方法。 - Paulo Morgado