四处搜索后,我似乎无法找到为什么 C# 编译器抱怨本地变量dteDest 在行中未分配
if (dteSrc == dteDest) {
Run Code Online (Sandbox Code Playgroud)
如果我更换线路,错误就会消失
DateTime dteSrc, dteDest;
Run Code Online (Sandbox Code Playgroud)
和
DateTime dteSrc, dteDest = DateTime.MinValue;
Run Code Online (Sandbox Code Playgroud)
据我所知,如果 dteDest 没有被 DateTime.TryParse 初始化,它是一个 out 参数,那么代码永远不会到达比较行。
我的逻辑是:
void StrangeLogic(object srcData, object currentDataObj) {
DateTime dteSrc, dteDest;
bool booHaveNewDate = DateTime.TryParse(srcData.ToString(), out dteSrc);
bool booHaveOrigDate = (currentDataObj != null)
&& …Run Code Online (Sandbox Code Playgroud)