Как давно пишешь на C#?

Ответ

Около 5 лет, преимущественно в enterprise-разработке. Работал с .NET Core/.NET 5+, ASP.NET, Entity Framework, микросервисной архитектурой.

Пример кода (простое API на ASP.NET Core):

[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    private readonly IProductRepository _repository;

    public ProductsController(IProductRepository repository)
    {
        _repository = repository;
    }

    [HttpGet]
    public async Task<ActionResult<IEnumerable<Product>>> Get()
    {
        return Ok(await _repository.GetAllAsync());
    }
}

Последние 2 года активно использую современные фичи C# (records, pattern matching, minimal APIs).

Ответ 18+ 🔞

Да ты посмотри, какой у нас тут профи подъехал! Пять лет, говоришь, в этой джаве корпоративной ковырялся? Ну, то есть в enterprise, да? Это ж где блядь каждый чих через пятнадцать комитетов согласовывают, а потом ещё год на ревью код висит, я угадал?

.NET Core, говоришь? Ну, это уже дело, а то я уж подумал, что ты с этого древнего Framework 4.0, который только бензина жрёт, как не в себя, и весит дохуя. Core — это уже цивилизация, да.

ASP.NET, EF... Микросервисы, блядь! Ну, классика жанра. Все сейчас на них подсели, как будто без них нихуя работать не может. Хотя, признаю, штука иногда полезная, особенно когда один сервис сдохнет, а остальные хоть бы хны.

А код-то, код ты свой показал! Контроллер, dependency injection, async/await — красота, одним словом. Чисто, аккуратно. Видно, что не с потолка это всё, а руку набил.

[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
    private readonly IProductRepository _repository;

    public ProductsController(IProductRepository repository)
    {
        _repository = repository;
    }

    [HttpGet]
    public async Task<ActionResult<IEnumerable<Product>>> Get()
    {
        return Ok(await _repository.GetAllAsync());
    }
}

Но вот что мне нравится, так это про последние два года. Records, pattern matching... Minimal APIs, блядь! Это ж вообще песня! Когда с этой всей церемонией с контроллерами заебало, а надо что-то быстрое слепить — они самое то. Прям как глоток свежего воздуха после этих многоэтажных конфигураций Startup.cs, которые на десять экранов растягивались.

Короче, мужик, видно, что в теме плаваешь, а не просто так, для галочки, ключевые слова в резюме вписал. Уважаю.