2017-01-17 128 views
-2

我可以訪問一個名爲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

'VAR第三= mySplitStorage [3];'然後'第三[0]'或'mySplitStorage [3] [0]' –

+1

是否有你創建一個隊列然後將其轉換爲數組的原因,只是爲了不再使用隊列?除非它稍後在代碼中使用,並且您只是不包含該部分,爲什麼不直接創建隊列作爲數組呢? – MattD

回答

3

您可以將字符串存儲爲一部分數組的單個元素一個字符串。所以,如果你想存儲數組,你需要將它轉換爲一個字符串。 myQ_Array [0]的工作原理是因爲您要讓它在第一個位置抓取字符串,即「零」。如果你想顯示'one',那麼你會做myQ_Array [1],因爲'one'在第二位。請記住,數組是零索引...所以當我說第一個位置,那是在索引零,當我說第二個位置,那是在索引一。只是把myQ_Array不起作用,因爲它是引用對象,而不是字符串值。總之,如果你想整個數組轉換成一個字符串,你可以這樣做:

string.Join(",", myQ_Array); 

這將創建一個基於陣列的逗號分隔字符串。

使用你的代碼,你可以這樣做:

Storage = Apple + ";" + Bannana + ";" + myQ_Array[0] + ";" + string.Join(",", myQ_Array); 
+0

謝謝Skyrider我剛剛得到了使用Join命令工作的代碼。我將整個數組轉換爲字符串,然後再次分割。 – Hester

0

String.JoinString.Split是一個獲獎團隊。 Split通過分隔符將字符串拆分爲數組。 Join通過分隔符將數組的元素連接在一起。

試試這個看逗號分隔的數組的值的列表:

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

您也可以訪問

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