c#關於int(或其他類型)的字段在對象初始化時默認初始化問題的解決方法


問題:

c#的wcf服務接口在后台通過自定義對象接收前台參數的時候,前台參數即使不傳int類型的字段值,后台也會默認初始化為0,由於很多表示狀態的int字段都是從0開始的,導致查詢的時候有些不想參與查詢的字段,如果不傳值就會默認只查詢狀態為0的記錄,這是不對的!!!,即便是在構造函數中賦值為-1也沒有用,應該是在接收值的時候被覆蓋掉了,如下圖,困擾了好久!!

 

解決方法:

網上百度,本來想怎么給未傳值的字段賦一個值,沒做到!后來換了一種思路,如果int字段不默認初始化為0就可以判斷是否傳值了,ok了!如下圖,int類型后面加個“?”表示該字段可為null,在沒有構造函數或者構造函數不作為的情況下int就不會默認為0了!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM