如何在Linq中获得以J开头的所有产品? ps简单

时间:2009-03-06 09:26:37

标签: c# linq

试图让我的头进入Linq对象和我的生活它逃脱了我...我想获得_name以J开头的所有产品的列表。

            Product prod;


            for (int i = 0; i < 10;i++ ) {
                prod = new Product();
                prod._Name = "J" + i.ToString();
                prod._Surname = "F" + i.ToString();


            }

更新

            Product prod;
            List<Product> productList = new List<Product>();


            for (int i = 0; i < 10;i++ ) {
                prod = new Product();
                prod._Name = "J" + i.ToString();
                prod._Surname = "F" + i.ToString();

                productList.Add(prod);
            }

            var query = productList.Where(p=> p._Name.StartsWith("J"));

感谢Jon

2 个答案:

答案 0 :(得分:1)

您的代码示例中没有提供任何类型的集合,但假设您有一个名为products的集合,您需要以下内容:

var query = products.Where(prod => prod._Name.StartsWith("J"));

这将给出IEnumerable<Product>。如果您想要List<Product>,只需将ToList()的电话添加到结尾:

var query = products.Where(prod => prod._Name.StartsWith("J"))
                    .ToList();

答案 1 :(得分:0)

如果你想摆脱这个错误,请在你的循环中移动Product proc;

for (int i = 0; i < 10;i++ ) {
    Product prod = new Product();
    ...