All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.sonar.plugins.csharp.S3247.html Maven / Gradle / Ivy

There is a newer version: 10.4.0.108396
Show newest version

Why is this an issue?

Because the is operator performs a cast if the object is not null, using is to check type and then casting the same argument to that type, necessarily performs two casts. The same result can be achieved more efficiently with a single cast using as, followed by a null-check.

Noncompliant code example

if (x is Fruit)  // Noncompliant
{
  var f = (Fruit)x; // or x as Fruit
  // ...
}

Compliant solution

// C# 6
var f = x as Fruit;
if (f != null)
{
  // ...
}
// C# 7
if (x is Fruit fruit)
{
  // ...
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy