C# 通过LINQ从列表中获取特定项
我有以下代码C# 通过LINQ从列表中获取特定项,c#,linq,C#,Linq,我有以下代码 var applications = from a in applications1.Entities.ToList() select new { name = a.Attributes["sia_name"].ToString(), applicati
var applications = from a in applications1.Entities.ToList()
select new
{
name = a.Attributes["sia_name"].ToString(),
applicationId = a.Attributes["sia_applicationid"].ToString(),
isDraftMode = a.Attributes.Contains("sia_applicationmode") ? a.FormattedValues["sia_applicationmode"].ToString().ToLower() == "draft" ? true : false : false
};
在这段代码中,我有一些包含name、applicationid和isdraftmode的应用程序,
现在我想从var应用程序中获取applicationid,以便将其传递给会话
这怎么可能实现呢
Session["ApplicationID"]=applications
喜欢吗
Session["ApplicationID"]=applications.Select(m => m.applicationId).First();
Session["ApplicationID"]=applications.Select(m => m.applicationId).First(x => x.property == condition);
Session["ApplicationID"]=applications.Select(m => m.applicationId).ToList();
它将为您提供第一个应用程序ID。如果您想根据条件选择applicationId,那么您可以像
Session["ApplicationID"]=applications.Select(m => m.applicationId).First();
Session["ApplicationID"]=applications.Select(m => m.applicationId).First(x => x.property == condition);
Session["ApplicationID"]=applications.Select(m => m.applicationId).ToList();
对于所有的应用程序,我都喜欢这样做
Session["ApplicationID"]=applications.Select(m => m.applicationId).First();
Session["ApplicationID"]=applications.Select(m => m.applicationId).First(x => x.property == condition);
Session["ApplicationID"]=applications.Select(m => m.applicationId).ToList();
所以,您有一个查询,它在匿名类型中选择多个属性,并且您需要从中选择一个特定属性来将其写入会话
Session["ApplicationID"] = applications
.Select(x => x.applicationId)
.ToList(); // i would "materialize" it in a collection to avoid side effect due to lazy evaluation
或者您想从中获取特定项目,例如通过sia_名称