这是我的职责:
private static string strTimeStampMsg(string strMsg, DateTime? dtTimestamp = null) {
if (strMsg == null || strMsg.Length == 0) {
return string.Empty;
}
string strDateTime;
if (dtTimestamp != null) {
strDateTime = dtTimestamp.ToString(CSTR.dtFormat);
} else {
strDateTime = DateTime.Now.ToString(CSTR.dtFormat);
}
return strDateTime + "> " + strMsg;
}
CSTR.dtFormat 在 DLL 中定义:
public const string dtFormat = "dd-MM-yyyy HH:mm:ss.fff";
今天我添加了可选的,问题是行:
strDateTime = dtTimestamp.ToString(CSTR.dtFormat);
在 ToString 下有红色下划线,为什么以及如何解决,同时能够使用所需的格式进行格式化?
ToString 下有红色下划线,为什么以及如何解决,同时能够使用所需的格式进行格式化?
嗯,你可以使用
dtTimestamp.Value.ToString(...)
,这样你就可以尝试调用DateTime.ToString
而不是Nullable<DateTime>.ToString()
。但有一个更好的解决方案可以避免代码重复:
string strDateTime = (dtTimestamp ?? DateTime.Now).ToString(CSTR.dtFormat);