c#关于int(或其他类型)的字段在对象初始化时默认初始化问题的解决方法

问题:

c#的wcf服务接口在后台通过自定义对象接收前台参数的时候,前台参数即使不传int类型的字段值,后台也会默认初始化为0,由于很多表示状态的int字段都是从0开始的,导致查询的时候有些不想参与查询的字段,如果不传值就会默认只查询状态为0的记录,这是不对的!!!,即便是在构造函数中赋值为-1也没有用,应该是在接收值的时候被覆盖掉了,如下图,困扰了好久!!

 

解决方法:

网上百度,本来想怎么给未传值的字段赋一个值,没做到!后来换了一种思路,如果int字段不默认初始化为0就可以判断是否传值了,ok了!如下图,int类型后面加个“?”表示该字段可为null,在没有构造函数或者构造函数不作为的情况下int就不会默认为0了!

 

转载于:https://www.cnblogs.com/lyd2016/p/6053265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值