我希望我的字符串YearMonthDayHourMinuteSecondMillisecond是這種格式( 「0」 前綴在必要時):什麼是較少的Kludgy方式來有條件地在日期時間元素上加一個「0」?
20140227142807
...但這:
string YearMonthDayHourMinuteSecond = string.Format("{0}{1}{2}_{3}{4}{5}", dt.Year, dt.Month, dt.Day, dt.Hour, dt.Minute, dt.Second);
...給我 「2」(而不是 「02」)二月,等如:
2014227142807
我可以解決這樣說:
string YearMonthDayHourMinuteSecondMillisecond = string.Format("{0}{1}{2}_{3}{4}{5}{6}", dt.Year, ConditionalZeroForepad(dt.Month), ConditionalZeroForepad(dt.Day), ConditionalZeroForepad(dt.Hour), ConditionalZeroForepad(dt.Minute), ConditionalZeroForepad(dt.Second);
private string ConditionalZeroForepad(string s)
{
if (s.Length < 2)
{
return string.Format("0{1}", s);
}
}
...但是這比槍支的槍袋要輕9倍。
什麼是更高尚的方式來實現這一目標?
我覺得變量名'YearMonthDayHourMinuteSecondMillisecond'獨自已經比菸頭的袋子醜陋「的9倍。 「 –
也許8.3左右,但絕對不是9! –