4
A
回答
9
它們和new int?()
完全一樣。
如果你只是指定一個變量,你通常根本不需要它。我只是使用:
int? x = null;
例如。
我最經常需要這些表達式之一的時間是條件運算符,例如,
int y = ...;
int? z = condition ? default(int?) : y;
不能在該方案中使用null
如編譯器不能推斷出表達式的類型。 (可以說這對語言來說是一種有益的補充,請介意你......)
0
基本上都是一樣的。默認值爲默認值。對於引用類型和可爲空的類型,它給出的值爲0時爲null。如果將decalre整數設爲可爲空,則也可以將其分配給(int?)null
。你可以檢查IL代碼也只是爲了驗證。
相關問題
- 1. int p = *(int *)i和int p = *(int *)&i之間的區別
- 2. int(* ip)[4]與int ip [4]之間的區別?
- 3. Java中的int a [5],int a [],int a [] = {2,3}之間的區別
- 4. int someInts [3]和int * someInts = new int [3]之間的區別?
- 5. uint和unsigned int之間的區別?
- 6. C#中char和int之間的區別#
- 7. Python 3.5 - '//'和'int()'之間的區別
- 8. int,NSInteger和NSUInteger之間的區別
- 9. 新的int和new(int)之間的C++有什麼區別?
- 10. '(int)a','a as int'和C#中的Convert.ToInt32(a)之間的區別
- 11. 表達式之間的區別:int * a = 0; int * a = 10;
- 12. foo(int * arr)和foo(int arr [])之間的任何區別?
- 13. int * p和int * p聲明之間的區別
- 14. 最終靜態int和靜態最終int之間的區別?
- 15. int [] []和int [,]之間的區別是什麼?
- 16. 返回值之間的區別int&和const int&
- 17. int fpurge()和int fflush()之間的區別C
- 18. C++中新int()和新int {}之間的區別
- 19. extern int a之間的區別; extern int a = 42;
- 20. 傳遞(int x)和(const int x)之間的區別
- 21. 「Convert.ToString(Nullable <int>)」和「Nullable <int> .ToString()」之間的區別?
- 22. 是一個int * NULL的默認值嗎?
- 23. 通過引用傳遞的int與int的傳遞地址之間的區別
- 24. int(floatvar)和(int)floatvar之間是否有區別?
- 25. Linux與Windows之間'INT'指令的區別
- 26. 與printf一起使用時char *和int *之間的區別
- 27. int,int *和int []與std :: unique_ptr之間的差異
- 28. int32.Equals int的區別? == int?對於linq
- 29. 地圖<int,int>默認值
- 30. 定義默認int爲無符號int
在我的情況是一個三元運算符,你例舉了var x = Int32.TryParse(entityObj.Prop,out result)?結果:(int?)null;我不得不這樣做,因爲這個屬性是以varchar形式存儲在第三方數據庫中的。謝謝@ jon-skeet –