当前位置:  开发笔记 > 编程语言 > 正文

如何识别对象何时为空?

如何解决《如何识别对象何时为空?》经验,为你挑选了2个好方法。

如果我正在调用一个函数:

    public User GetUserById(int UserId)
    {
    User someUser = new User();

    //Look up this UserId in the database
     ...
    someUser.Name = dbResult["Name"];

    return someUser;
    }

假设我传入的UserId没有与之关联的"用户信息".

突然间,我传回的'someUser'被实例化,但是空了.检查它是否为"空"的最佳方法是什么,所以我不尝试显示它的数据?

我的穴居人想检查someUser.Name的长度是否大于零.我知道这很糟糕,所以如果你知道我错过了什么 - 我会感激你的帮助!



1> Kent Boogaar..:

真正的问题是,GetUserById()如果ID无效,为什么会返回未初始化的对象?抛出异常或者 - 最坏的情况 - 返回是不是更好null



2> Marc Gravell..:

就个人而言,如果id不存在,我要么返回null,要么(不太喜欢)我会抛出一个ArgumentException或者KeyNotFoundException.这避免了整个问题 - 你只是检查null...

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有