我在这段代码中收到 SonarCloud
错误:
foreach (var item in itemList)
{
if (string.IsNullOrEmpty(item.Name))
{
throw new BadRequestException("Item name is null or missing...");
}
if (someOtherList.Any(x => x.Name == item.Name))
{
throw new NotAcceptedException("Item name already exist in Db.");
}
}
我的问题是,当我遇到异常
时,如何使用Select
(如声纳建议的那样)将此代码转换为LINQ
?
最佳答案
我找到了让声纳快乐的解决方案。 :) 但老实说这是有道理的。
因此,有时当您想遍历整个对象但只需要一个属性时,您可能会遇到此错误,就像在这种情况下一样。这里我只想遍历名称,所以解决方案是:
foreach (var itemName in itemList.Select(x => x.Name))
{
if (string.IsNullOrEmpty(itemName))
{
throw new BadRequestException("Item name is null or missing...");
}
if (someOtherList.Any(x => x.Name == itemName))
{
throw new NotAcceptedException("Item name already exist in Db.");
}
}
关于c# - 应通过调用 Select 来简化循环 - sonar cloud error c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71157634/