# Csharp

> Write idiomatic C# code using .NET features, async/await, LINQ, SOLID principles, dependency injection, and unit tests.

- Skill: `neuralblitz/csharp` (Agent Skill)
- Install (CLI): `npx skillmds@latest add neuralblitz/csharp`
- Raw SKILL.md: https://api.skillmd.com/api/skills/neuralblitz/csharp/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools, AI & ML, Refactoring, Testing & QA
- Tags: Async Await, Csharp, Dependency Injection, Dotnet, Linq, Solid Principles, Unit Testing
- License: MIT
- Author: NeuralBlitz (https://skillmd.com/u/neuralblitz)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/neuralblitz/csharp

---

## What I do
- Write idiomatic C# code
- Use .NET features effectively
- Implement async/await patterns
- Use LINQ for queries
- Apply SOLID principles
- Handle exceptions properly
- Use dependency injection
- Write unit tests

## When to use me
When writing C# or .NET code.

## C# Best Practices
```csharp
// Async/await patterns
public async Task<UserDto> GetUserAsync(int id)
{
    return await _repository.GetByIdAsync(id)
        .ConfigureAwait(false);
}

// LINQ queries
var activeUsers = await _context.Users
    .Where(u => u.IsActive)
    .OrderBy(u => u.CreatedAt)
    .Skip(page * pageSize)
    .Take(pageSize)
    .ToListAsync();

// Dependency injection
services.AddScoped<IUserService, UserService>();
services.AddSingleton<IConfiguration>(Configuration);

// Records for DTOs
public record UserDto(
    int Id,
    string Email,
    string Name,
    DateTime CreatedAt);

// Pattern matching
public decimal CalculateDiscount(Order order) => order switch
{
    { IsPremium: true } => 0.2m,
    { Items.Count: > 10 } => 0.1m,
    { Total: > 100 } => 0.05m,
    _ => 0m
};
```

