4

在objectiveC中,给定一个包含字符串的NSArray fred,我可以说:

NSString *s = [fred ObjectAtIndex:5];

什么是 c# 等价物?罗塞塔石碑说使用该方法ValueAt,但返回一个IntPtr.

var i = fred.ValueAt(5);

但是接下来你就剩下如何将指针转换IntPtrNSString指针了。

4

3 回答 3

6

通过 IntPtr 感觉是个坏主意。相反,只要您知道要获取的项目的类型,您就可以使用以下内容:

int index = 0;
NSString str = myNsArr.GetItem<NSString>(index);
于 2015-09-23T11:47:03.937 回答
5

我也遇到了同样的情况。您可以使用 new NSString() 将该 IntPtr 转换为 NSString,例如:

string strValue = new NSString(nsArr.ValueAt(1));

对你来说可能为时已晚,但也许它会帮助其他人。

于 2012-07-29T10:08:28.823 回答
1
string strValue = NSString.FromHandle(nsArr.ValueAt(1));
于 2015-08-25T16:29:10.800 回答