繁体   English   中英

LINQ查询以显示列表中是否存在ID

[英]LINQ Query to show if ID exists in list

foreach (var asset in fpt.CouttsPositionSection.ManagedStrategyAssets)
{
var result = FPTStaticDataManagedStrategyAssetlist.Where(e => e.Name == asset.StaticDataManagedStrategyAsset.Name);
if (result == null)
    {
      asset.StaticDataManagedStrategyAsset = FPTStaticDataManagedStrategyAssetlist[random.Next(0, FPTStaticDataManagedStrategyAssetlist.Count())];
    }
}

我要检查FPTStaticDataManagedStrategyAssetlist中是否存在asset.StaticDataManagedStrategyAsset.Name 我不确定要使用哪个运算符?

使用任何

if (!FPTStaticDataManagedStrategyAssetlist.Any(e => e.Name == asset.StaticDataManagedStrategyAsset.Name))
{
   //code
}

只要条件满足,它将返回true

同样,对于字符串比较string.Equals(string, string, StringComparision)如果希望更多控制如何比较字符串( MSDNstring.Equals(string, string, StringComparision)可以使用string.Equals(string, string, StringComparision) )。

您应该更改使用Enumerable.Any的位置

if(!FPTStaticDataManagedStrategyAssetlist.Any(e => e.Name == asset.StaticDataManagedStrategyAsset.Name))
{
    asset.StaticDataManagedStrategyAsset = FPTStaticDataManagedStrategyAssetlist[random.Next(0, FPTStaticDataManagedStrategyAssetlist.Count())];
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM