簡體   English   中英

類型必須是不可為空的值

[英]The type must be a non-nullable value

我正在嘗試創建一個Dictionary類型的NativeArray,我收到此錯誤:

類型Realtime.Messaging.Internal.ConcurrentDictionary<string,Chunk>' must be a non-nullable value type in order to use it as type parameter在泛型類型或方法`Unity.Collections.NativeArray'中將Realtime.Messaging.Internal.ConcurrentDictionary<string,Chunk>' must be a non-nullable value type in order to use it as type parameter T'

NativeArray<ConcurrentDictionary<string, Chunk>> dictionary = new NativeArray<ConcurrentDictionary<string, Chunk>>(8, Allocator.TempJob);

我是Unity和C#的新手,之前可能會問這個問題,但我一直在尋找修復,卻找不到任何東西。

我怎樣才能解決這個問題?

答案是你得到的錯誤信息: ..必須是一個不可為空的值類型... ConcurrentDictionary是一個引用類型,似乎NativeArray有一個類型參數約束只接受結構,約束的種類如下:

class Foo<T> where T:struct{}

這意味着你只能創建值類型(結構)的NativeArray:int,byte,char,...等,或者你自己的結構......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM