[求助]C#自定义类型时,如何让返回值为NULL

yixian2007 2015-01-31 01:19:21
比如我定义了一个类,需要一个参数,根据这个参数去数据库中寻找相应的记录,但如果记录不存在,想让这个类返回NULL值,这样我上层就可以根据这个类是否为NULL来判断了。

请问如何实现?在构造函数中吗?
...全文
753 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
於黾 2015-02-03
  • 打赏
  • 举报
回复
我看的也是醉了
xk280399649 2015-02-03
  • 打赏
  • 举报
回复
转换一下思路就可以了,不是必须要用构造函数才能获取类对象。
本拉灯 2015-01-31
  • 打赏
  • 举报
回复
引用 9 楼 yixian2007 的回复:
[quote=引用 6 楼 wyd1520 的回复:] [quote=引用 5 楼 yixian2007 的回复:] 无语,我是想NEW的时候用的,单独定义方法不是我想要的,有没有NEW的时候实现的。 我看系统自带的好像是可以的。
谁跟你们自带有可以了。对你才是无语。基本的概念没弄清。。。[/quote] DataTable dt = new DataTable(); 这个不是NULL的吗? [/quote] 无语了,你看看这dt会不会等 于null汗。。不要猜好不。。
  • 打赏
  • 举报
回复
引用 9 楼 yixian2007 的回复:
[quote=引用 6 楼 wyd1520 的回复:] [quote=引用 5 楼 yixian2007 的回复:] 无语,我是想NEW的时候用的,单独定义方法不是我想要的,有没有NEW的时候实现的。 我看系统自带的好像是可以的。
谁跟你们自带有可以了。对你才是无语。基本的概念没弄清。。。[/quote] DataTable dt = new DataTable(); 这个不是NULL的吗? [/quote] 你从哪里得出来的null?? dt??
  • 打赏
  • 举报
回复
构造函数怎么可能有返回值,构造函数看意思也应该明白啊,构造构造,对象创建,不是对象获取
tcmakebest 2015-01-31
  • 打赏
  • 举报
回复
就不能定义一个静态方法吗, 用一个 IF 就解决了, 真是任性
yixian2007 2015-01-31
  • 打赏
  • 举报
回复
引用 12 楼 qldsrx 的回复:
[quote=引用 11 楼 yixian2007 的回复:] 这个。。。。。。 大哥,咱们说的不是一个东西,跟ORM扯不上边。。。。。。。。 我这是自己定义的模型。。。。在数据库中有可能是几个表,初始化的时候判断的东西挺多的,所以才要返回一个NULL来判断是否初始化成功了。
new关键字永远不可能返回null,如果你要判断后确定是否返回一个对象的实例,或是null,那么就不能用new关键字,而应该用Create方法(方法名也可以更改)。例如:

    public class User
    {
        //这是私有构造函数,不允许外部直接new
        User() { }
        //这是公开的Create方法,如果条件成功,则返回User对象,失败,则返回null
        public static User Create(string filter) { return null; }
    }
使用时直接User.Create("条件");即可[/quote] 唉,果然只有这种方法吗?
qldsrx 2015-01-31
  • 打赏
  • 举报
回复
引用 11 楼 yixian2007 的回复:
这个。。。。。。 大哥,咱们说的不是一个东西,跟ORM扯不上边。。。。。。。。 我这是自己定义的模型。。。。在数据库中有可能是几个表,初始化的时候判断的东西挺多的,所以才要返回一个NULL来判断是否初始化成功了。
new关键字永远不可能返回null,如果你要判断后确定是否返回一个对象的实例,或是null,那么就不能用new关键字,而应该用Create方法(方法名也可以更改)。例如:

    public class User
    {
        //这是私有构造函数,不允许外部直接new
        User() { }
        //这是公开的Create方法,如果条件成功,则返回User对象,失败,则返回null
        public static User Create(string filter) { return null; }
    }
使用时直接User.Create("条件");即可
yixian2007 2015-01-31
  • 打赏
  • 举报
回复
引用 8 楼 qldsrx 的回复:
你应该先看下ORM是什么东西,ORM操作返回的实体类对象,如果为null,说明数据库中不存在,而操作本身是封装的一个方法,根本不是自己新建对象。
这个。。。。。。 大哥,咱们说的不是一个东西,跟ORM扯不上边。。。。。。。。 我这是自己定义的模型。。。。在数据库中有可能是几个表,初始化的时候判断的东西挺多的,所以才要返回一个NULL来判断是否初始化成功了。
yixian2007 2015-01-31
  • 打赏
  • 举报
回复
引用 7 楼 zujinsheng 的回复:
构造函数是不带返回类型的..
对,就是你说的,确实是没有办法返回的,所以才想问问大家。
yixian2007 2015-01-31
  • 打赏
  • 举报
回复
引用 6 楼 wyd1520 的回复:
[quote=引用 5 楼 yixian2007 的回复:] 无语,我是想NEW的时候用的,单独定义方法不是我想要的,有没有NEW的时候实现的。 我看系统自带的好像是可以的。
谁跟你们自带有可以了。对你才是无语。基本的概念没弄清。。。[/quote] DataTable dt = new DataTable(); 这个不是NULL的吗?
qldsrx 2015-01-31
  • 打赏
  • 举报
回复
你应该先看下ORM是什么东西,ORM操作返回的实体类对象,如果为null,说明数据库中不存在,而操作本身是封装的一个方法,根本不是自己新建对象。
zujinsheng 2015-01-31
  • 打赏
  • 举报
回复
构造函数是不带返回类型的..
本拉灯 2015-01-31
  • 打赏
  • 举报
回复
引用 5 楼 yixian2007 的回复:
无语,我是想NEW的时候用的,单独定义方法不是我想要的,有没有NEW的时候实现的。 我看系统自带的好像是可以的。
谁跟你们自带有可以了。对你才是无语。基本的概念没弄清。。。
yixian2007 2015-01-31
  • 打赏
  • 举报
回复
无语,我是想NEW的时候用的,单独定义方法不是我想要的,有没有NEW的时候实现的。 我看系统自带的好像是可以的。
本拉灯 2015-01-31
  • 打赏
  • 举报
回复
引用 3 楼 yixian2007 的回复:
[quote=引用 2 楼 wyd1520 的回复:] 你不会从这个类里的方法去返回null么
构造函数怎么返回?[/quote] 你没看懂方法两字么。。。
yixian2007 2015-01-31
  • 打赏
  • 举报
回复
引用 2 楼 wyd1520 的回复:
你不会从这个类里的方法去返回null么
构造函数怎么返回?
本拉灯 2015-01-31
  • 打赏
  • 举报
回复
你不会从这个类里的方法去返回null么
yixian2007 2015-01-31
  • 打赏
  • 举报
回复
MSDN上查找了一下,NEW运算符不能重载。请问怎么实现?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧