我正在循环使用此代码的所有复选框。
string where = string.Empty;
foreach(checkBox c in gridApi.Children.OfType< CheckBox>()){ if(c.IsChecked == true) { …
我会用这个来解决这个问题 的 的string.join 强> 。例如,您可以添加所有内容 CategoryMulti like '%1%' 将您的Checkbox变为列表,然后像这样使用String.Join:
CategoryMulti like '%1%'
var list = new List<string>(); foreach (CheckBox c in gridApi.Children.OfType<CheckBox>()) { if (c.IsChecked == true) { list.Add("CategoryMulti like '%" + c.Content.ToString() + "%'"); } } var result = string.Join(" or ", list);
result 现在包含 CategoryMulti like '%1%' or CategoryMulti like'%2%' or ... 。但是,如果我们现在还将LINQ添加到混合中,我们甚至可以将其简化为:
result
CategoryMulti like '%1%' or CategoryMulti like'%2%' or ...
var result = string.Join(" or ", gridApi.Children .OfType<CheckBox>() .Where(c => c.IsChecked == true) .Select(c => "CategoryMulti like '%" + c.Content.ToString() + "%'"));
一个简单的解决方案是在a中添加where表达式 List<string> 。 然后,你可以使用 string.Join(" or ", yourList);
List<string>
string.Join(" or ", yourList);
一个例子:
var list = new List<string> { "Asd", "Qwe", "Zxc" }; var result = string.Join(" OR ",list); Console.WriteLine(result);
该示例的结果将是:“Asd OR Qwe OR Zxc”