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变量。
简而言之,我想提取所有具有特定呼号的FullAsset,但是使用foreach似乎很笨拙(假设可以包含在所述列表中的FullAsset的数量可能没有上限)。
最佳答案
您可以使用lambda表达式,如下所示:
foreach(FullAsset fa in vclAsset.Where(a => callsigns.contains(a.asset.callsign))
{
// do something
}
关于c# - 比使用foreach更好的搜索列表方式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1825831/