miss786 Ответов: 3

Как добавить запятые в строку?


Я хотел бы вывести свою строку следующим образом:

Word, word, word

В настоящее время я не могу разделить строку запятыми. Пожалуйста, посоветуйте, где я могу ошибиться – спасибо.

Что я уже пробовал:

SqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {


                        string content = (reader.GetString(0));

                        result = result + string.Join(",", content);


                        //return result;
                    }
                }
                return result;
            }

Sergey Alexandrovich Kryukov

Разделить или добавить? Это противоположные вещи. :-)
—СА

3 Ответов

Рейтинг:
9

Karthik_Mahalingam

В дополнение к вышеописанному решению 2, Вот еще один способ добавления запятой

StringBuilder result = new StringBuilder();
 while (reader.Read())
        {
            string content = (reader.GetString(0));
            result.Append(content + ","); ;
        }
        return result.ToString().TrimEnd(',');


Richard Deeming

Конкатенация строк в цикле-отличный способ снизить производительность вашего приложения. :)

Вы должны использовать StringBuilder вместо.

Karthik_Mahalingam

Да, Ричард! вы правы, в то время это не приходило мне в голову..
Обновил мое решение,
Спасибо, что указал на это.

Рейтинг:
15

Marcus Kramer

Строка.Join принимает несколько строк в той или иной форме для второго аргумента, поэтому вам нужно прочитать все ваши результаты в какой-то список строк, а затем передать его один раз в String. Join

List<string> contentResults = new List<string>();

SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
    contentResults.Add(reader.GetString(0));
}

result = string.Join(", ", contentResult);
</string></string>


Sergey Alexandrovich Kryukov

5ед.
—СА

Karthik_Mahalingam

Привет Маркус,
так и должно быть contentResults.Add(reader.GetString(0));

Marcus Kramer

Хаха... Хороший улов. Я явно писал быстрее, чем мой мозг мог думать снова.

Karthik_Mahalingam

:)

Рейтинг:
0

Sergey Alexandrovich Kryukov

5ед.
—СА