Первый раз, когда вы присваиваете Tags_collect
внутри цикла while (Data1.Read())
, который не гарантированно будет выполняться.
Исправьте это, инициализируя переменную, когда она объявлена:
string Tags_collect = string.Empty;
Еще лучше, используйте StringBuilder
вместо того, чтобы полагаться на повторные конкатенации:
StringBuilder tags = new StringBuilder();
// ...
while (Data1.Read())
{
string tag = Data1.GetString(0);
sb.Append(tag);
sb.Append(","); // Separator
}
lbl_tags.Text = tags.ToString();
Конкатенация строки к себе в цикле очень неэффективна, потому что строки неизменяемы, поэтому каждая конкатенация создает бренд-новый экземпляр.Использование StringBuilder
предотвращает это, используя один буфер.