将字符串数组保存到字符串中

时间:2017-01-17 20:27:19

标签: c# arrays string

我可以访问一个名为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?

2 个答案:

答案 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.JoinString.Split是一支成功的团队。 Split通过分隔符将字符串分成数组。 Join通过分隔符将数组元素连接在一起。

尝试此操作以查看数组值的逗号分隔列表:

Console.WriteLine("myQ_Array = " + String.Join(",", myQ_Array));

您还可以访问数组的各个元素

Console.WriteLine("myQ_Array[0] = " + myQ_Array[0]);