Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NSMutableArray和NSArray的C#等价物是什么?_C#_Objective C_.net_Cocoa - Fatal编程技术网

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"};