#c# #winforms
#c# #winforms
Вопрос:
У меня есть этот код:
private void Form1_Load(object sender, EventArgs e)
{
string s="helloamynameisalam";
string[] arr = s.Split('a');
foreach (string str in arr)
{
textBox1.Text = str "n";
}
}
Я хочу, чтобы вывод был таким :
hello
mynameis
lam
Но он показывает только «lam» в текстовом поле 1. Я не знаю почему.
Ответ №1:
Ваша ошибка возникает внутри цикла for, где вы устанавливаете свойство text текстового поля на текущий элемент. Конечно, это заканчивается тем, что в вашем текстовом поле отображается только последний элемент массива.
Вы можете использовать string .Join для создания многострочной строки, но не забудьте установить для свойства Multiline текстового поля значение true, чтобы в вашем текстовом поле отображалось несколько строк
string s="helloamynameisalam";
string[] arr = s.Split('a');
//textBox1.Text = string.Join("rn", arr);
textBox1.Text = string.Join(Environment.NewLine, arr);
Вы даже можете обрезать строку из своего кода с помощью простой замены
t.Text = s.Replace("a", Environment.NewLine);
Обратите внимание также, что n
одного символа НЕДОСТАТОЧНО для создания новой строки в текстовом поле. Вам также нужно добавить r
или улучшить Environment.NewLine
Комментарии:
1. Большое вам спасибо, но это только связывает строку вместе. Вывод такой: hellomynameislam, но он не принимает символ » n». Пожалуйста, помогите мне!!
2. да! Я видел ваше обновление. Это успешно. Большое вам спасибо