是否可以在 linq-to-xml 中将过滤器约束设置为“OR”?我遍历一个数组以像这样过滤所需的值:
XElement root = XElement.Load(fileName);
IEnumerable<XElement> selectedElements = root.Elements("OrderNum").Elements("Job");
for (int i = 1; i < chkBx.Count(); i++)
{
if (chkBx[i].Checked == true)
{
string element = "Diameter";
string match = chkBx[i].Text;
selectedElements = selectedElements.Where(el => (string)el.Parent.Element(element) == match);
}
}
现在过滤器将有点与“AND”语句链接在一起。如果我想选择一个满足这些过滤条件的元素怎么办?
最佳答案
var filters = chkBx.Where(r => r.Checked).Select(r => r.Text).ToList();
selectedElements = selectedElements.Where(r =>
filters.Contains((string)r.Parent.Element(element)))
关于c# - 在 c# 中的 linq-to-xml 中的 'and' 和 'or' 过滤器之间更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289489/