一位老同事曾经引用他父亲关于工具的话说,“你必须比它更聪明。”
在下面的代码中,Resharper 告诉我,“分配的值不用于任何执行路径”(指向第一行)。如果我接受它的帮助,则不会为 dt 分配值(“今天”)。
这是“我必须比它更聪明”并忽略他们的警告的情况,还是工具比我更聪明的情况,而我只是不理解它?
我对这种情况的看法是,如果 if 语句失败,则返回当前日期(我想要的默认值),但如果我默认 Resharper 的“要求”,它将返回 Datetime 的默认值,即最小日期,我假设是 7/4/1776 或 1/1/0000 左右。
DateTime dt = DateTime.Now;
if (!(DateTime.TryParse(substr, out dt))) {
using (var dtpDlgForm = new ReturnDate("Please select the Date that the file was created:")) {
if (dtpDlgForm.ShowDialog() == DialogResult.OK) {
dt = dtpDlgForm.ReturnVal;
}
}
}
return dt;