回答
List<int, SomeStruct?>
您不能分配null
到列表中,因爲結構是值類型的元素,而null
意味着一個空指針,所以只能分配給引用類型變量。
另請注意,List
正如您使用它在.NET中不存在!也許你想要Dictionary
?
在C#中一個結構是一個'值類型',它不能爲空。
如果您確實需要能夠將其設置爲空,則可以通過添加尾隨問號將其設置爲「可空」類型。
但是,您應該首先詳細介紹一下這個細節 - 它很可能根本不需要「結構」,但對於「類」會更好。
同意。問題是我不擁有結構,我只是使用它:( – 2010-11-10 20:40:08
除非您定義了自定義泛型集合,否則不存在於System.Collections.Generic
命名空間中。你的意思是Dictionary<TKey, TValue>
?
您可以使用可爲空的類型:Using Nullable Types (C# Programming Guide)
。
至於任何ValueType,您需要明確指出您將允許您的類型爲空值。您可以通過將'?
'字符與您的類型名稱連接起來,或者將其標記爲可空(Nullable)來實現,其中T是結構的名稱。
當我看到會有三個'Will'回答一個問題時,我無法抗拒回答!= P – 2010-11-10 20:49:56
那裏有三個遺囑有三種方法嗎? – RenniePet 2014-02-13 01:54:51
- 1. 如何爲一個pinvoke調用分配一個空值給一個結構體?
- 2. 如何在結構中分配一個空指針另一個結構?
- 3. 在C將值分配給一個指針結構構件
- 4. 動態分配結構一個結構
- 5. 如何將結構的地址分配給另一個結構?
- 6. C - 分配值給一個malloc結構不起作用
- 7. 值分配給結構用C
- 8. 分配值在結構來PTR(C)
- 9. C結構,內存分配和結構
- 10. C結構分配到結構陣列
- 11. 分配一個結構到另一個用C
- 12. 如何將默認值分配給C++函數中的結構?
- 13. 如何獲得一個結構,在一個結構中,並將其分配給一個結構數組
- 14. 將值分配給結構
- 15. 的C結構構件是一個字符串,如何分配字節直接
- 16. 分配一個空值到一個int
- 17. C++如何將值從一個結構傳遞到另一個結構?
- 18. 在一個C結構中的一個TCHAR成員 - 如何動態分配成員和結構數組?
- 19. 爲整個結構向量分配一個結構元素?
- 20. Ç - 設置一個結構爲空(不兼容類型分配)
- 21. C++結構函數,返回一個新的結構,動態分配並接受一個結構
- 22. 重新分配一個結構數組
- 23. 分配一個結構指針陣列
- 24. 「fread'ing一個動態分配的結構
- 25. 分配結構=結構
- 26. 分配結構
- 27. 分配結構
- 28. 分配空間的指針結構
- 29. 設置和分配一個結構中的結構的指針
- 30. 分配一個結構來「結構相同」類型
當我這樣做時,現在任何對結構成員的引用都會給我錯誤:System.Nullable <>不包含'Member'的定義 – 2010-11-10 20:50:40
@whydna:讀取可爲空的類型。基本上'SomeStruct?'是'Nullable'的語法糖。你不能直接訪問成員,但這是你使用具有值類型的'null'語義所付出的代價。 –
2010-11-10 20:53:37
感謝您的幫助:) – 2010-11-10 20:58:44