2016-10-01 35 views
0

使用拆分有什麼錯在我的代碼,我有這樣的代碼:它通過在winform

private void Form1_Load(object sender, EventArgs e) 
{ 
    string s="hello\amynameis\alam"; 
    string[] arr = s.Split('\a'); 
    foreach (string str in arr) 
    { 
     textBox1.Text = str + "\n"; 
    } 
} 

我想輸出是因爲:

hello 
mynameis 
lam 

但只顯示「林」的textBox1的。我不知道爲什麼。

回答

7

您的錯誤發生在for循環中,您將文本框的text屬性設置爲當前項目。當然,這最終只會顯示數組的最後一項。

您可以使用string.Join建立一個多行字符串,但記得要設置文本框爲true的Multiline屬性,讓你的文本框顯示多行

string s="hello\amynameis\alam"; 
string[] arr = s.Split('\a'); 
//textBox1.Text = string.Join("\r\n", arr); 
textBox1.Text = string.Join(Environment.NewLine, arr); 

你甚至可以從你的代碼修整線用一個簡單的替換

t.Text = s.Replace("\a", Environment.NewLine); 

還要注意的是單獨\n字符是不夠的,讓一個換行符在一個文本框。您還需要添加\r或更高版本Environment.NewLine

+0

非常感謝您,但它只將字符串連接在一起。像這樣的輸出:hellomynameislam,但它不接受「\ n」字符。請幫幫我!! –

+0

查看上面的答案 – Steve

+0

yess的更新!我看到你的更新。它成功了。非常感謝你 –