我有一个班级持有 aColor
和一个字符串:
public class Magic{
public string Name {get; set;}
public Color MyColor {get; set;}
}
我有他们的清单:
List<Magic> MyList = new List<Magic>();
我对 LINQ 不太熟悉,我想知道如何将 in 中的所有Color
对象List
放入新List
的Color
s中
您将使用Select方法:
List<Color> magicColors = MyList
.Select(magic => magic.MyColor)
.ToList();
如果您只想要独特的颜色:
List<Color> magicColors = MyList
.Select(magic => magic.MyColor)
.Distinct()
.ToList();
这个想法是,对于每一个Magic
,它都会拉出它的MyColor
. 这就是它的Select(magic => magic.MyColor)
作用。
这个问题有点含糊,如果您正在寻找颜色的投影,那么@ChrisSinclair 的答案是正确的。
另一方面,如果您想按颜色过滤,那么您可以这样做:
var magicS = (from magic in MyList where magic.MyColor == s select magic).ToList();
或者
var magicS = MyList.Where(m => m.MyColor == s).ToList();
我使用了 .FindAll 方法。
var lst = GetAllProducts();
List<ProductModel> sel = lst.FindAll(x => x.IsActive == true);
return sel;
我有一种方法可以将所有产品放入 List<>。我的产品模型有一个名为 IsActive(布尔值)的属性。
此代码创建一个仅包含 Active=True 产品的新 List<>。