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

本文关键字:NSArray 检索 objectAtIndex 中从 Monotouch | 更新日期: 2023-09-27 18:35:05

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

NSString *s = [fred ObjectAtIndex:5];

什么是 c# 等效项? 罗塞塔石碑说使用该方法ValueAt但返回IntPtr .

var i = fred.ValueAt(5);

但是,您就剩下如何将IntPtr转换为指针NSString了。

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

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

int index = 0;
NSString str = myNsArr.GetItem<NSString>(index);

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

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

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

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