我可以访问一个名为Storage的字符串变量。我想将一个字符串数组与其他变量一起保存到Storage变量中。这可以将数组变量保存到字符串吗?如果是我如何从数组中获取值?请参阅下面的代码。
// This Storage variable is just for code functionality. I do not create it.
string Storage; // See above^
string Apple = "Red";
string Bannana = "Yellow";
Queue<string> myQ = new Queue<string>();
myQ.Enqueue("zero");
myQ.Enqueue("one");
myQ.Enqueue("two");
myQ.Enqueue("three");
string[] myQ_Array = myQ.ToArray();
Storage = Apple + ";" + Bannana + ";" + myQ_Array[0] + ";" + myQ_Array;
var mySplitStorage = Storage.Split(';');
Console.WriteLine("mySplitStorage[0] = " + mySplitStorage[0]);
Console.WriteLine("mySplitStorage[1] = " + mySplitStorage[1]);
Console.WriteLine("mySplitStorage[2] = " + mySplitStorage[2]);//<--This works
Console.WriteLine("mySplitStorage[3] = " + mySplitStorage[3]);//<--Cant get this to work
Console.Read();
// This is the output
//mySplitStorage[0] = Red
//mySplitStorage[1] = Yellow
//mySplitStorage[2] = zero
//mySplitStorage[3] = System.String[] <--- How do i get the values out of the array?
答案 0 :(得分:3)
您可以将字符串存储为字符串的一部分。因此,如果要存储数组,则需要将其转换为字符串。 myQ_Array [0]有效,因为你告诉它在第一个位置抓取字符串,即“零”。如果你想显示'one',那么你会做myQ_Array [1]因为'one'处于第二位置。请记住,数组是零索引的...所以当我说第一个位置时,那是在索引零处,当我说第二个位置时,就是在索引1处。只是把myQ_Array不起作用,因为它引用了对象,而不是字符串值。无论如何,如果你想将整个数组转换成一个字符串,你可以这样做:
Storage = Apple + ";" + Bannana + ";" + myQ_Array[0] + ";" + string.Join(",", myQ_Array);
这将根据您的数组创建一个逗号分隔的字符串。
使用您的代码,您可以:
let imagePicker = UIImagePickerController()
imagePicker.allowsEditing = true
imagePicker.sourceType = UIImagePickerControllerSourceType.camera
present(imagePicker, animated: true, completion: nil)
答案 1 :(得分:0)
String.Join
和String.Split
是一支成功的团队。 Split
通过分隔符将字符串分成数组。 Join
通过分隔符将数组元素连接在一起。
尝试此操作以查看数组值的逗号分隔列表:
Console.WriteLine("myQ_Array = " + String.Join(",", myQ_Array));
您还可以访问数组的各个元素
Console.WriteLine("myQ_Array[0] = " + myQ_Array[0]);