---
title: No Duplicate Variable Names In Scope (Shadowing)
impact: HIGH
impactDescription: prevents shadowing bugs
tags: variables, shadowing, scope, quality, csharp
---

## No Duplicate Variable Names In Scope (Shadowing)

Variable shadowing occurs when an inner scope variable has the same name as an outer scope variable.

**Incorrect (shadowing):**

```csharp
var name = "Main";

public void Process()
{
    var name = "Inner"; // Shadows class member or outer variable
    Console.WriteLine(name);
}
```

**Correct (unique names):**

```csharp
var appName = "Main";

public void Process()
{
    var processName = "Inner";
    Console.WriteLine(processName);
}
```

**Tools:** Roslyn Analyzers, SonarQube
