C# 如何在文本框中显示LINQ Lambda表达式
我对Lambda表达式有点陌生,我试图为我自己设定的以下任务找到一个简单的解决方案。 一位顾客有一系列汽车。使用LINQ获得他拥有的汽车总数。 下面的代码,不确定这是否正确?我的第二个问题是如何在文本框中显示C# 如何在文本框中显示LINQ Lambda表达式,c#,linq,lambda,C#,Linq,Lambda,我对Lambda表达式有点陌生,我试图为我自己设定的以下任务找到一个简单的解决方案。 一位顾客有一系列汽车。使用LINQ获得他拥有的汽车总数。 下面的代码,不确定这是否正确?我的第二个问题是如何在文本框中显示TotalNumberCars using (Entities dbcontext = new Entities()) { var ListByOwner = from c in dbcontext.Owners where c.Owner
TotalNumberCars
using (Entities dbcontext = new Entities())
{
var ListByOwner = from c in dbcontext.Owners
where c.OwnerID == OwnerID
group c by c.Cars into g
select new
{
Owner = g.Key,
TotalNumberCars = g.Sum(x => x.Cars)
};
lblTotalCars.Text = ListByOwner.ToList();
}
ListByOwner.ToList()
是从Select
投影中选择的新项目的数组(通用列表)。每个项目都是一个动态实体,具有两个属性Owner
和TotalNumberCars
。您需要索引或foreach到列表中,将需要的内容提取到一个字符串中,该字符串可以是您的文本
例如lblTotalCars.Text=ListByOwner[0].Owner代码>将显示第一个项目的所有者
拿着这个,填上你需要的东西 我不知道您的实体数据模型是如何构造的,但我会这样做:
using (var dbContext = new Entities())
{
var numberOfCars = dbContext.Cars.Count(c => c.OwnerId == OwnderId);
lblTotalCars.Text = numberOfCars.ToString();
}
如果没有c.OwnerId,那么您可以通过键入c.Owner.OwnerId来访问它。检查此代码
lblTotalCars.Text = ListByOwner.ToList().sum(c=>c.TotalNumberCars).ToString();
有多少家庭作业,哈?请一次问一个问题。另外,“不确定这是否正确?”也不是问题。如果你不能判断它是否正确,我们就不可能了。通过运行代码并查看它是否符合您的要求,您就知道它是正确的。如果它做了你想要的,它是正确的。如果没有,那就不是了。不清楚您希望以何种方式显示TotalNumberCars
;您可能会有多个该值的实例…您想要该值的总和吗?只是其中一个例子?还有别的吗?这个问题是不清楚的,太宽泛了,缺少了一个有助于我们理解它的好方法。