我需要与接收 NSDictionary<NSString, NSObject>
类型对象的函数进行交互在 Xamarin 中。
首先,我不明白语法。
NSDictionary<NSString, NSObject>
到底是什么?类型对象?
我知道有 NSDictionary 类型,我知道如何创建一个并设置键和值,但什么是 NSDictionary<?,?>
?它应该是某种特殊的元组吗?
其次,如何创建这样的对象并定义键和关联对象?
最佳答案
NSDictionary<TKey, TValue>
只是 NSDictionary
的通用版本.这意味着键都是 TKey
类型的(在您的情况下为 NSString
)并且所有值都是 TValue
类型(在你的情况下 NSObject.
)。这提供了更多的类型安全,因为例如您不能将整数添加为键。底层 iOS 对象仍然是一个 NSDictionary
.这个类是一种“语法糖”,因为我们习惯于在 C# 中严格输入并希望尽可能使用它。
您可以使用构造函数创建它。它有多个构造函数。例如。 NSDictionary(TKey[] keys, TValue[] values)
将键和值作为参数并创建 NSDictionary
var keys = new[]
{
new NSString("key1"),
new NSString("key2"),
new NSString("key3"),
new NSString("key4")
};
var objects = new NSObject[]
{
// don't have to be strings... can be any NSObject.
new NSString("object1"),
new NSString("object1"),
new NSString("object1"),
new NSString("object1")
};
var dicionary = new NSDictionary<NSString, NSObject>(keys, objects);
关于c# - 如何在 Xamarin 中设置 NSDictionary<NSString, NSObject> 对象的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39676993/