在objectiveC中,给定一个包含字符串的NSArray fred,我可以说:
NSString *s = [fred ObjectAtIndex:5];
什么是 c# 等价物?罗塞塔石碑说使用该方法ValueAt
,但返回一个IntPtr
.
var i = fred.ValueAt(5);
但是接下来你就剩下如何将指针转换IntPtr
为NSString
指针了。
通过 IntPtr 感觉是个坏主意。相反,只要您知道要获取的项目的类型,您就可以使用以下内容:
int index = 0;
NSString str = myNsArr.GetItem<NSString>(index);
我也遇到了同样的情况。您可以使用 new NSString() 将该 IntPtr 转换为 NSString,例如:
string strValue = new NSString(nsArr.ValueAt(1));
对你来说可能为时已晚,但也许它会帮助其他人。
string strValue = NSString.FromHandle(nsArr.ValueAt(1));