使用字典我對MonoTouch的字典限制很困惑:http://docs.xamarin.com/ios/about/limitations#Value_types_as_Dictionary_Keys在MonoTouch的
我的理解是這樣的代碼是不允許:
var foo = new Dictionary<int, int>();
但我看到的代碼在書中這樣,這是沒有意義的:
protected Dictionary<int, CustomCellController> _cellControllers = new Dictionary<int, CustomCellController>();
此外,有人發佈,如果您使用可空類型,它會轉變S中的值代入參考,因此下面的工作(只要關鍵是NOT NULL):
var foo = new Dictionary<int?, int?>();
這也沒有什麼意義,因爲可空類型是結構這是值類型。
那麼關於在設備上使用字典的真正規則是什麼?
Thans爲您的迴應。這是缺少一些代碼還是你的意思是不允許上述所有的代碼? 此外,這是否意味着var foo = new Dictionary();只要它不與泛型一起使用,是否允許使用? –
這不是允許或不允許的問題。這是*所需*代碼的生成與否的問題。基本的使用方法可以很容易地確定使用什麼,但是一些方案(例如LINQ查詢)可能無法在沒有附加解決方法的情況下運行。如果有疑問,請嘗試在iOS設備上執行它。如果它不起作用,請嘗試解決方法(並將其報告爲一個錯誤,以便我們可以查看它)。 – poupou
謝謝,我只是有一個關於你的迴應上面的問題。它說:「我的理解是這樣的代碼是不允許的:」。那是缺少的代碼? –