Linq 救援:https://msdn.microsoft.com/en-us/library/bb397900.aspx
例如,我创建了一个 MyClass,其中包含一个布尔属性 CreateRadioElement 和一个 ElementText 字符串属性:
public class MyClass
{
public bool CreateRadioElement { get; set; }
public string ElementText { get; set; }
}
然后我创建了一个 MyClass 对象列表:
List<MyClass> elements = new List<MyClass>();
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "1" });
elements.Add(new MyClass { CreateRadioElement = false, ElementText = "2" });
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "3" });
elements.Add(new MyClass { CreateRadioElement = false, ElementText = "4" });
elements.Add(new MyClass { CreateRadioElement = true, ElementText = "5" });
所以现在我们只希望将 CreateRadioElement 设置为 true 的 MyClass 对象:
IEnumerable<MyClass> radioelementsQuery = from element in elements
where element.CreateRadioElement == true
select element;
现在您使用 foreach 循环执行查询:
foreach (MyClass mc in radioelementsQuery)
{
Console.WriteLine("Element: {0}", mc.ElementText);
}
而且您只会在控制台输出中看到 1、3 和 5。当然,您可以将每个都分配给 RadioElement,而不是写入控制台。