Monotouch如何从C#中的NSArray中检索objectAtIndex

Bil*_*uff 4 c# nsarray

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

NSString *s = [fred ObjectAtIndex:5];
Run Code Online (Sandbox Code Playgroud)

什么是c#等价物?罗塞塔石头说要使用这种方法ValueAt但是会返回一个IntPtr.

var i = fred.ValueAt(5);
Run Code Online (Sandbox Code Playgroud)

但是你剩下的就是如何将一个转换IntPtrNSString指针.

小智 5

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

string strValue = new NSString(nsArr.ValueAt(1));
Run Code Online (Sandbox Code Playgroud)

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


use*_*716 5

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

int index = 0;
NSString str = myNsArr.GetItem<NSString>(index);
Run Code Online (Sandbox Code Playgroud)