Ovi*_*Ovi 1 c# foreach conditional-statements
我在c#中有这个foreach循环,因为我是c#的新手,我想知道这是否可以写得更短(条件是循环的一部分)
foreach (PagerPageFilterInformation filter in PageFilterInformation)
{
if (filter.Ancestor == myParent)
{
DoSomething()...//Using filter
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我试过做:
PagerPageFilterInformation filter = PageFilterInformation.FirstOrDefault(filter => filter.Ancestor == myParent);
if(filter != null)
{
DoSomething()...}
Run Code Online (Sandbox Code Playgroud)
但它没有用.可能是因为班级:
PagerPageFilterInformation
Run Code Online (Sandbox Code Playgroud)
继承自类:
PageFilterInformation
Run Code Online (Sandbox Code Playgroud)
?
如果DoSomething()方法不使用找到的过滤器:
if (PageFilterInformation.Any(filter => filter.Ancestor == myParent))
{
DoSomethng();
}
Run Code Online (Sandbox Code Playgroud)
编辑:更新,因为评论中提供了新的要求
如果需要将找到的过滤器传递给DoSomething()方法:
var filter = PageFilterInformation.FirstOrDefault(f => f.Ancestor == myParent);
if (filter != null)
{
DoSomething(filter);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4588 次 |
| 最近记录: |