Замена символа или части строки для соответствия SQL-запросу

#c# #sql #string #list #checkeditems

#c# #sql #строка #Список #проверенные элементы

Вопрос:

Я знаю, что я не занимался этим самым простым способом, но я довольно новичок в C #. Я пытаюсь убедиться, что при выборе только из 1,2,3 или 4 из 5 отмеченных списков я не получаю следующее

amp;amp; или amp;amp;amp; и т.д… Я бы хотел, чтобы конечная строка была xxxxx amp; xxxxxamp; xxx или аналогичной, поскольку строка добавляется к заданному SQL-запросу.

Код приведен ниже:

любая помощь будет оценена по достоинству. Я искал в Интернете некоторую помощь, но не нашел многого, что смог понять.

         List<object> list = checkedListBox1.CheckedItems.OfType<object>().ToList();
        List<object> list2 = checkedListBox2.CheckedItems.OfType<object>().ToList();
        List<object> list3 = checkedListBox3.CheckedItems.OfType<object>().ToList();
        List<object> list4 = checkedListBox4.CheckedItems.OfType<object>().ToList();
        List<object> list5 = checkedListBox5.CheckedItems.OfType<object>().ToList();


        string selected_fields_cb1 = string.Join(" ", list.ToArray());
        string selected_fields_cb2 = string.Join(" ", list2.ToArray());
        string selected_fields_cb3 = string.Join(" ", list3.ToArray());
        string selected_fields_cb4 = string.Join(" ", list4.ToArray());
        string selected_fields_cb5 = string.Join(" ", list5.ToArray());


        string allSelected = (selected_fields_cb1   " "   selected_fields_cb2   " "   selected_fields_cb3  
           " "   selected_fields_cb4   " "   selected_fields_cb5   "");
        string allSelected2 = allSelected.Replace( " ", "amp;" );
        string allSelected3 = allSelected2.TrimEnd('amp;');
  

Комментарии:

1. О чем вы спрашиваете, не могли бы вы пояснить

2. @TheGameiswar извините, если я неясен, я ищу эффективный способ убедиться, что окончательная отредактированная строка соответствует определенным параметрам. таковыми являются. выбранные элементы из отмеченных списков, разделенные одним amp;, а не amp;amp; или amp;amp;amp; и т.д. если я не делаю выбор из всех 5, это понятнее?

Ответ №1:

Если я правильно понимаю, вы пытаетесь добавить пробелы, а затем заменить эти пробелы на amp; .

Было бы проще сделать это напрямую.

 List<object> list = checkedListBox1.CheckedItems.OfType<object>().ToList();
List<object> list2 = checkedListBox2.CheckedItems.OfType<object>().ToList();
List<object> list3 = checkedListBox3.CheckedItems.OfType<object>().ToList();
List<object> list4 = checkedListBox4.CheckedItems.OfType<object>().ToList();
List<object> list5 = checkedListBox5.CheckedItems.OfType<object>().ToList();

var allObjects = list.Concat(list2).Concat(list3).Concat(list4).Concat(list5);
var res = string.Join("amp;", allObjects);
  

Комментарии:

1. Спасибо за такой быстрый ответ, это решение сработало отлично