Pra*_*tik 0 .net c# linq lambda
我无法理解以下内容: x => x.Id == _purchase.Centre.Id
代码在这里:
private void LoadCentreOptions()
{
MaterialCentreDataSource mcds = new MaterialCentreDataSource();
List<MaterialCentre> centres = mcds.GetAll() as List<MaterialCentre>;
_blankCentre = new MaterialCentre()
{
Name = Strings.JournalViewModel_CreditedPartyOption_NotSpecified
};
centres.Insert(0, _blankCentre);
_centreOptions = new ReadOnlyCollection<MaterialCentre>(centres);
if (_purchase.Centre == null)
_purchase.Centre = _blankCentre;
else
_purchase.Centre = _centreOptions.First(x => x.Id == _purchase.Centre.Id);
}
Run Code Online (Sandbox Code Playgroud)
在调试时,我正在看X.Id增加.怎么可能?
api First枚举集合并应用条件来检查哪一个匹配然后返回第一个匹配..所以有效的代码转换为
foreach(var centreOption in _centreOptions)
{
if(centreOption.Id==_purchase.Centre.Id)
return centreOption;
}
Run Code Online (Sandbox Code Playgroud)
如果你理解LINQ它基本上是短的
_centreOptions.Where(x => x.Id == _purchase.Centre.Id).First();
Run Code Online (Sandbox Code Playgroud)
要了解第一次阅读Jon Skeets blogpost的确切实现.
| 归档时间: |
|
| 查看次数: |
2872 次 |
| 最近记录: |