如何将这种易于编写(和读取)的字符串格式化例程转换为“正确的” String.Format
等效代码?
Int32 power;
Single voltage;
Int32 kVA;
Double powerFactor;
powerFactor = power / kVA;
label1.Text =
DateTime.Now.ToString() + ": " +
power.ToString() + "W, " +
voltage.ToString() + "V "+
"(pf "+(powerFactor*100.0).ToString()+"%)";
//label1.Text = String.Format("{g}: {0:g}W, {0:g}V (p.f. {0:0%}%)",
// DateTime.Now, power, voltage, powerFactor);
我花了大约10分钟的时间尝试使用
String.Format
;记录该文件的人应被终止。 最佳答案
string.Format("{0}: {1}W, {2}V (pf {3}%",DateTime.Now,power,voltage,powerFactor*100)
所以,这是我认为让您感到困惑的事情。每个
{0}
是您要传入的对象的索引。{0}
是第一个对象,{1}
是第二个对象,依此类推。您还可以指定格式,宽度和其他太多内容,无法在此处列出。我将SteveX string ref用于大多数需求。label1.Text = String.Format("{0:g}: {1:g}W, {2:g}V (p.f. {3:0.0%})",
DateTime.Now, power, voltage, powerFactor);