私は次の方法を持っており、Resharper はif(drivers != null)
常に true になることを教えてくれますが、理由がわからず、catch
ブロックが冗長であると教えてくれますが、誰かが理由を説明できますか? コードは次のとおりです。
public List<Driver> GetDrivers(int id)
{
if (_context != null)
{
try
{
var drivers = _context.Drivers.Where(x=> x.id == id).ToList();
//Always true
if (drivers != null)
{
//code
}
else
{
//Heuristically unreachable
throw new Exception("No Driver");
}
}
catch (Exception ex)
{
throw;
}
}
return drivers;
}
- なぜ
if(drivers != null)
常に真なのですか?ドライバーを null にすることはできませんか? それが正しければ、null ではないドライバーのデフォルト値があると思います。 - ドライバーがnullになることはないと考えているため、elseステートメントに到達できないと言っていると思いますが、これは事実ですか?
- は
catch
冗長であることがわかりますが、ヌルであることに加えて、リシャーパーはできないと言っていますが、スローされる可能性のある別の例外がありませんcatch
か?