C# c列表选择特定变量

C# c列表选择特定变量,c#,asp.net,C#,Asp.net,我有gridview ASPxGridView,我想填充行。 我的c代码如下所示: List<ProductEntity> productList; productList = product.getProducts(); gvProducts.DataSource =... gvProducts.DataBind(); productList = product.getProducts().foreach() 但它不起作用。谢谢。在没有看到更多代码的情况下,我无法确定,但如果您

我有gridview ASPxGridView,我想填充行。 我的c代码如下所示:

List<ProductEntity> productList;
productList = product.getProducts();
gvProducts.DataSource =...
gvProducts.DataBind();
productList = product.getProducts().foreach()

但它不起作用。谢谢。

在没有看到更多代码的情况下,我无法确定,但如果您只想从产品中选择名称和价格

List<ProductEntity> productList;
productList = product.getProducts()
                       .Select(p => new {  p.Name, p.Price });
编辑:展开“我的代码”示例以显示工作测试:

 using System.Collections.Generic;
    using System.Linq;
    using NUnit.Framework;

    namespace StackOverflow
    {
        [TestFixture]
        public class ProductListQuestion
        {
            class ProductEntity
            {
                public string Name { get; set; }
                public decimal Price { get; set; }
                public string OtherProperty { get; set; }
            }

            [Test]
            public void CanSelectProperties()
            {
                var products = new List<ProductEntity>
                {
                    new ProductEntity {Name = "First", Price = 1M},
                    new ProductEntity {Name = "Second", Price = 2M},
                    new ProductEntity {Name = "Third", Price = 3M}
                };

                var productList = products
                   .Select(p => new {  p.Name, p.Price });

                Assert.That(productList, Is.Not.Null);
                Assert.That(productList.Count(), Is.EqualTo(3));
                Assert.That(productList.ElementAt(0), Has.No.Property("OtherProperty"));
                Assert.That(productList.ElementAt(0), Has.Property("Name"));

            }
        }
    }

在GridView上执行以下步骤:

禁用自动生成列 单击GridView,然后编辑列 添加要从实体中显示的列。e、 g.添加BoundField,它必须包含要显示的列的HeaderText名称,以及实体中变量的DataField名称
您的意思是只显示特定列或筛选特定行?这是一个错误。应该是Price=x。Price谢谢您的回答,但我找不到。选择方法。您确定它是列表类型吗?@ridvanzoro使用System.Linq添加
var result =product.getProducts().Select(x=> 
          new {Name = x.name ,
                  Price= x.price})
         .ToList();