2016-10-01 50 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的更新!我看到你的更新。它成功了。非常感谢你 –