c# - 搜索列表比使用 foreach 更好的方法

标签 c# .net linq foreach

list vclAsset<FullAsset>
list callsigns<string>

foreach(FullAsset fa in vclAsset)
{
    if (callsigns.contains(fa.asset.callsign))
    {
         //do something
    }

}

是否有更优雅的方法来完成上述操作? FullAsset 对象包含一个 Asset 对象,该对象又具有字符串“Callsign”。每个呼号都是唯一的,所以我的呼号列表每个字符串只有一个,并且没有两个 FullAsset 对象会共享一个 Asset.callsign 变量。

简而言之,我想提取所有具有特定呼号的 FullAssets,但是使用 foreach 似乎很笨拙(假设可以包含在所述列表中的 FullAssets 的数量可能没有上限)。

最佳答案

你可以使用 lambda 表达式,像这样:

foreach(FullAsset fa in vclAsset.Where(a => callsigns.contains(a.asset.callsign))
{
    // do something
}

关于c# - 搜索列表比使用 foreach 更好的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1825831/

相关文章:

c# - 基于计数的 orderby 相关性的 LINQ 关键字搜索 (LINQ to SQL)

c# - 如何重用asp的列表项:DropDownList controls?

c# - 内容协商期间 HttpControllerContext.Configuration 有时为 null

c# - Guid 全部为 0(零)?

c# - vshost 文件的用途是什么?

c# - Linq - 如何选择一个新对象来包含其他对象的列表?

C# MongoDB 驱动程序——需要简单的代码来读取/查询集合

c# - 在运行测试类清理时,由于出现以下错误 : 80040154.,为具有 CLSID {} 的组件检索 COM 类工厂失败

c# - MVC 将 View 组件文件放在哪里

c# - 如何为 List<string>、Expression<Func<T,bool>> 创建 MemberExpression