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/