问题:

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

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

 

解决方法:

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

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

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

 

相关文章:

  • 2021-05-21
  • 2021-10-21
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2021-09-26
  • 2022-01-25
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2023-02-10
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2021-11-09
相关资源
相似解决方案