正如我所瞭解的默認(對象)其中'對象'是任何引用類型總是返回null,但我可以指定默認值是什麼?例如,我想要默認(對象)==新對象();指定參考類型的默認值
14
A
回答
25
號default(type)
總是返回同樣的事情 - 「零」刪除「該類型的版本。對於引用類型,這是一個始終設置值爲零的對象的句柄 - 相當於null
。對於值類型,這總是所有成員設置爲零的結構。
有沒有辦法來覆蓋這種行爲 - 語言規範是這樣設計的。
編輯:關於你的評論:
只是爲了能夠說
FirstOrDefault()
,從來沒有得到一個空。
我不會在任何情況下推薦這個。用戶期望FirstOrDefault()
失敗時返回null
。最好是寫自己的擴展方法:
static T FirstOrNewInstance<T>(this IEnumerable<T> sequence) where T : class, new()
{
return sequence.FirstOrDefault() ?? new T();
}
3
相關問題
- 1. 指針類型的C#默認值
- 2. 指定參數的默認值
- 3. Scala中類型參數的默認值
- 4. 爲參數指定默認值
- 5. 如何指定null作爲結構類型的默認參數
- 6. 與參數默認值註冊類型
- 7. 參考指針類型
- 8. Oracle:指定對象類型的默認值列
- 9. 抓鬥參考,設置默認值
- 10. 指定默認值std :: function
- 11. 值類型和參考類型
- 12. 值類型和參考類型
- 13. 指定類方法模板參數 - 可選(默認參數)
- 14. 添加參考時如何更改「特定版本」默認值?
- 15. 默認的Argv參數類型
- 16. 的Java:HashMap的:得到:指定默認值
- 17. 如何在Flex3中指定未設置的Number類型的默認參數?
- 18. 指定Django DateField和Postgresql的默認值
- 19. 指定默認值的反應,引導
- 20. 如何指定VARIANT_BOOL的默認值?
- 21. 如何指定函數參數的默認值?
- 22. 指定DLL參考
- 23. em的默認參考字體大小?
- 24. 修改默認類型參數
- 25. 實體類型的默認值
- 26. 動態類型的默認值?
- 27. 運行時類型的默認值
- 28. SQL int類型的默認值問題
- 29. 默認值參數
- 30. 添加默認參數的值與類型提示在Python
不,這是不可能的。你能告訴我們這裏的最終目標,也就是爲什麼你會想要這個功能嗎? – Ani 2010-11-01 02:28:24
不,你爲什麼需要這樣做?如果對象爲空,只需分配一個新的! – 2010-11-01 02:28:59
只是爲了能夠說FirstOrDefault()並且永遠不會得到空值。猜猜我只會寫一個新的擴展方法。 – 2010-11-01 02:30:08