2012-12-08 82 views
0
string[] string1; 
string string2; 
string1 = string2; 

這總是給我一個錯誤說我不能轉換成stringstring[]。我怎麼能夠「string2」追加到string1?我必須添加多個string,因此如果有任何方法可以將多個string添加到string1中,我將非常感謝您的幫助!如何追加一個字符串到字符串[],分配不工作

+4

你是不是想將它們連接起來?你想添加一個字符串到一個字符串數組嗎? – JoshVarty

+1

請使用對未來訪問者更有用的主題行。 –

+0

我想如果你描述你要完成的是什麼,而不是談論你所看到的具體錯誤,你會得到更多的幫助。正如@Josh所指出的那樣,目前還不清楚你實際上想要解決什麼問題,我會給出的答案在很大程度上取決於此。 – tvanfosson

回答

1

您試圖將單個字符串分配到整個string的數組中。

這是不可能的。

您需要選擇要使用的陣列的哪個元素。

更好的是,使用List<string>而不是數組 - 這是一個更好的結構,因爲它不受其初始大小的限制。

List<string> string1 = new List<string>(); 
string string2; 
string1.Add(string2); // Will add a null 
+0

非常感謝!這對我來說是一個很大的麻煩。希望現在我終於可以完成我的項目! – Tribenonkey

1

一個可能的解決方案是首先使用列表並將所有字符串存儲在那裏。然後,作爲最後一步,將列表轉換爲數組。 這是特別合適的,如果你不知道你想在數組中存儲的字符串的數量,然後開始存儲它們。
但是,這有一些性能影響可能不是最好的可行解決方案取決於你實際上正在嘗試做什麼。

string string2 = "HelloWorld"; 
List<string> list = new List<string>(); 
list.Add(string2); 
// repeat for all objects 

string[] string1 = list.ToArray(); 
1

創建一個大小兩個字符串數組:

string[] string1= new string[2]; 
string string2 = "test"; //You must also assign something to your string before using it. 
string1[0] = string2; 

連接兩個字符串:

string string3 = "third"; 
string string4 = "fourth"; 
string string5 = string3 + string4; //string5 is now "thirdfourth" 
0

添加到Array是不平凡的操作......如果你只需要要收集字符串,可以增長使用List<string>,不要忘記創建對象:

List<string> string1 = new List<string>(); 
string string2 = "test"; 
string1.Add(string2); 
0

如果需要用繩子[]工作,並追加元素,像這樣做:

 string2 = string1 .Concat(new[] { 
      stringa, stringb,stringc,stringd.... 
     }).ToArray(); 

或單個:

 string2 = string1.Concat(new[]{ string2 }).ToArray(); 
0

string1是一個字符串數組。 string2是一個字符串。

首先創建適當大小

string1 = new string[10]; 

然後通過指定一個索引添加到字符串這個陣列的陣列;

string1[0] = string2; 
string1[1] = "Hello"; 
string1[2] = "World"; 

等等。在此示例中,您可以執行此操作直至string[9],因爲索引範圍從0到數組大小減1。

如果您事先不知道數組的大小,則可以使用List<string>代替。列表自動增長

var list = new List<string>(); 
list.Add(string2); 
list.Add("Hello"); 
list.Add("World"); 

foreach (string s in list) { 
    Console.WriteLine(s); 
} 

for (int i = 0; i < list.Count; i++) { 
    Console.WriteLine(list[i]); 
}