我对 MonoTouch 字典的限制很困惑:http: //docs.xamarin.com/ios/about/limitations#Value_types_as_Dictionary_Keys
我的理解是不允许这样的代码:
var foo = new Dictionary<int, int>();
但是我在这样的书中看到了代码,这没有意义:
protected Dictionary<int, CustomCellController> _cellControllers = new Dictionary<int, CustomCellController>();
此外,有人发布说,如果您使用可为空的类型,它会将值转换为引用,因此以下工作(只要键不为空):
var foo = new Dictionary<int?, int?>();
这也没有意义,因为可空类型是值类型的结构。
那么在设备上使用字典的真正规则是什么?