NSMutableArray和NSArray的C#等价物是什么?
什么是NSMutableArray和NSArray的C#等价物是什么?,c#,objective-c,.net,cocoa,C#,Objective C,.net,Cocoa,什么是NSMutableArray和NSArray的C#等价物 C#有可变和不可变的吗?我注意到默认情况下,string似乎是可变的 另外,如果考虑到NSMutableArray和NSArray的弱类型性质,我如何快速在C#?中填充数组,这将分别是ArrayList和object[] C#(至少对于.NET 2.0及以上版本)中的数组和列表也可以是强类型的,因此根据存储的对象类型,可以指定该类型。例如,如果在Objective-C代码中的NSMutableArray中只有NSString对象,则
NSMutableArray
和NSArray
的C#等价物
C#有可变和不可变的吗?我注意到默认情况下,string
似乎是可变的
另外,如果考虑到
NSMutableArray
和NSArray
的弱类型性质,我如何快速在C#?中填充数组,这将分别是ArrayList
和object[]
C#(至少对于.NET 2.0及以上版本)中的数组和列表也可以是强类型的,因此根据存储的对象类型,可以指定该类型。例如,如果在Objective-C代码中的NSMutableArray
中只有NSString
对象,则使用List
,如果在NSArray
中有它们,则使用固定大小的string[]
要在C#中快速初始化和填充列表或数组,您可以使用称为:
List List=新列表{“foo”、“bar”、“baz”};
字符串[]数组={“foo”,“bar”,“baz”};//数组的快捷语法
< C >代码>字符串是不可变的,就像在基础框架中的<代码> NString < /代码>。每次为变量指定新字符串时,只需将变量指向或引用到不同的对象。对于C#中的Xamarin.iOS:
List<String> stringList = new List<String>();
stringList.Add("Test");
我不知道关于弦的事。谢谢你的提问。。。我如何列一个弱列表?您的示例显示了一个强类型列表。您不应该再使用弱类型集合,但如果需要,您可以使用非泛型的
ArrayList
。NSArray
是完全不可变的:您不能替换数组的现有成员,因此它与对象[]
不完全相同<据我所知,代码>NSArray本身在.NET框架中没有确切的等价物(但这也不是什么大问题)。@zneak:Ahhh是的。。。我知道我错过了什么。感谢您指出。使用string[]
而不是List
或ArrayList
表示内存中的此对象仍然是不可变的。
List<String> stringList = new List<String>();
stringList.Add("Test");
[NSString stringByReplacing...]
[NSMutableString replace...]
string[] pickerItemsArray;
pickerItemsArray = new string[]{"Item 1", "Item 2", "Item 3", "Item 4", "Item 5"};