Проблема Foreach в C # - PullRequest
       3

Проблема Foreach в C #

2 голосов
/ 05 февраля 2011

Я пытаюсь сделать цикл foreach в C #. В textbox1 это местоположение, и теперь я попытаюсь перечислить все папки в textbox2. Но я не нахожу ошибку:

        string[] filePaths = Directory.GetFiles(@"" + textBox1.Text + "");
        foreach (string value in filePaths)
        {
            textBox2.Text = "" + value + "\n";
        }

Я надеюсь, что кто-то может мне помочь.

Привет

Ответы [ 2 ]

10 голосов
/ 05 февраля 2011

Вы сбрасываете свойство Text на каждой итерации.Как минимум, используйте += вместо =.Если вы работаете с большим количеством строк, то стоит изучить класс StringBuilder для эффективных операций объединения строк, особенно тех, которые происходят внутри циклов.

StringBuilder sb = new StringBuilder();
foreach (string path in filePaths)
{
    sb.AppendLine(path);
}
textBox2.Text = sb.ToString();
5 голосов
/ 05 февраля 2011

Я исправил это для вас.

    string[] filePaths = Directory.GetFiles(textBox1.Text);
    foreach (string value in filePaths)
    {
        textBox2.Text += value + Environment.NewLine;
    }

Вы использовали = вместо + =, что означало, что textBox2.Text имел только последнее имя файла в списке вместо всех файлов.

Я также избавился от некоторых бессмысленных "", которые вы добавили и изменили "\ n" в Environment.NewLine.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...