C# 如何通过linq从常规列表中选择项目
我有一个LINQ查询,其中包含一个方法GetInstanceForDatabase() 在哪里C# 如何通过linq从常规列表中选择项目,c#,.net,C#,.net,我有一个LINQ查询,其中包含一个方法GetInstanceForDatabase() 在哪里 List()原则列表=。。。 //(包含“手工交易”、“OPM”、“Flora”等原则清单) GetInstanceForDatabase()是一种获取有关原则的所有其他信息(如手动交易)的方法 我的问题是,我只想理清原则,就像“手工交易”一样 我想放一个where子句。我试过了,但失败了 var list = p.GetInstanceForDatabase().where(x => x.p
List()原则列表=。。。
//(包含“手工交易”、“OPM”、“Flora”等原则清单)
GetInstanceForDatabase()
是一种获取有关原则的所有其他信息(如手动交易)的方法
我的问题是,我只想理清原则,就像“手工交易”一样
我想放一个where
子句。我试过了,但失败了
var list = p.GetInstanceForDatabase().where(x => x.propertyName == "Manual Trades").ToList();
我确信你的GetInstanceForDatabase需要返回你的收藏,然后过滤“手动交易”,但我真的不知道你是如何从这个问题中得到你的主要立场列表的。这是在
LINQ中使用Where
的正确语法
principlesList.Select(p => p.GetInstanceForDatabase()).Where(p => p.SomeProperty == "SomeValue").ToList();
要获取单个项目,请使用:
query.First(x => x.property == "Manual Trades");
// or
query.FirstOrDefault(x => x.property == "Manual Trades");
它怎么会失败?意外的结果或引发了一些异常?也许您应该发布使用Where方法的尝试,这样我们就可以看到哪里出错并纠正您。帮助我们帮助你;我们大多数人都没有时间写下答案来涵盖你可能做错的每一件事。。至少我得到了一个没有错误的查询,我正在尝试实现它。查询工作正常。。。还有一点,这里是完整的方法DataBaseFacade.Instance.UpdatePrinciples(ApplicationData.Instance.ProfessionalName,RunningUser.Instance.UserData.UserName,PrincipleList.Select(p=>p.GetInstanceForDatabase())。其中(p=>p.Name==“手动交易”).ToList(),dateTime,dbSavedCallback);我只想在AddWatch中看到“PrincipleList.Select(p=>p.GetInstanceForDatabase())。其中(p=>p.Name==“手动交易”).ToList()”。有什么办法吗
principlesList.Select(p => p.GetInstanceForDatabase()).Where(p => p.SomeProperty == "SomeValue").ToList();
query.First(x => x.property == "Manual Trades");
// or
query.FirstOrDefault(x => x.property == "Manual Trades");