您的位置:首页 > 编程语言

屌丝和美女根本就不是一个星球来的,一写代码就露馅了

2013-07-04 18:51 232 查看
有这么一个函数,功能是通过传入的数据,更新一些界面显示。要求是传入的数据中,结构体成员中,字符串为NULL的、数字小于0的都保持原样不要更新。

屌丝是这么写的:

/// <summary>
/// 修改书本信息
/// </summary>
/// <param name="file"></param>
public void UpdateBookCase(Model_File file) //传入参数叫file是个结构体
{
if (!DataCache.Instance.DicBookItems.Keys.Contains(file.FileID))
return;  //如果之前没折腾过这玩意,就不管
Model_File OldFile = DataCache.Instance.DicBookItems[file.FileID].Tag as Model_File;  //折腾过的就拿出来,叫OldFile

if (file.DetailFileList != null)
{
OldFile.DetailFileList = file.DetailFileList;
}
if (file.FileName != null)
{
OldFile.FileName = file.FileName;
}
if (file.FilePath != null)
{
OldFile.FilePath = file.FilePath;
}
if (file.FileSize != null)
{
OldFile.FileSize = file.FileSize;
}
if (file.FileType != null)
{
OldFile.FileType = file.FileType;
}
if (file.SendName != null)
{
OldFile.SendName = file.SendName;
}
if (file.SendNum != null)
{
OldFile.SendNum = file.SendNum;
}
DataCache.Instance.DicBookItems[file.FileID].UpdateBookItemControl(OldFile);
}


美女是这么写的:

/// <summary>
/// 修改书本信息
/// </summary>
/// <param name="file"></param>
public void UpdateBookCase(Model_File file)
{
if (!DataCache.Instance.DicBookItems.Keys.Contains(file.FileID))
return;
Model_File OldFile = DataCache.Instance.DicBookItems[file.FileID].Tag as Model_File;

if (file.DetailFileList == null)
{
file.DetailFileList = OldFile.DetailFileList;
}
if (file.FileName == null)
{
file.FileName = OldFile.FileName;
}
if (file.FilePath == null)
{
file.FilePath = OldFile.FilePath;
}
if (file.FileSize == null)
{
file.FileSize = OldFile.FileSize;
}
if (file.FileType == null)
{
file.FileType = OldFile.FileType;
}
if (file.SendName == null)
{
file.SendName = OldFile.SendName;
}
if (file.SendNum == null)
{
file.SendNum = OldFile.SendNum;
}
DataCache.Instance.DicBookItems[file.FileID].UpdateBookItemControl(file);
}


严格来说只有三处天翻地覆的不同:==null和!=null ; file赋给OldFile和OldFile赋给file ; 最后更新OldFile和更新file。你会发现美女的超级逻辑,运行起来居然也是对的,在不触发内在问题的时候,可以正常使用,这也是为什么这个BUG居然潜伏了一年多,作为屌丝的我,彻底的拜倒在美女的键盘之下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐