Код IT Загрузка примера кода…

C# main.cs
public record ValidationResult(bool IsValid, string? ErrorMessage = null);

public static class EmailValidator
{
    public static ValidationResult Validate(string? email)
    {
        if (string.IsNullOrWhiteSpace(email))
            return new ValidationResult(false, "Email не может быть пустым");

        var parts = email.Split('@');
        if (parts.Length != 2)
            return new ValidationResult(false, "Email должен содержать ровно один символ '@'");

        var (local, domain) = (parts[0], parts[1]);

        if (string.IsNullOrEmpty(local))
            return new ValidationResult(false, "Локальная часть email не может быть пустой");

        if (string.IsNullOrEmpty(domain) || !domain.Contains('.') ||
            domain.StartsWith('.') || domain.EndsWith('.'))
            return new ValidationResult(false, "Некорректный домен: должен содержать точку и не начинаться/заканчиваться ею");

        return new ValidationResult(true);
    }
}
public record ValidationResult(bool IsValid, string? ErrorMessage = null);

public static class EmailValidator
{
    public static ValidationResult Validate(string? email)
    {
        if (string.IsNullOrWhiteSpace(email))
            return new ValidationResult(false, "Email не может быть пустым");

        var parts = email.Split('@');
        if (parts.Length != 2)
            return new ValidationResult(false, "Email должен содержать ровно один символ '@'");

        var (local, domain) = (parts[0], parts[1]);

        if (string.IsNullOrEmpty(local))
            return new ValidationResult(false, "Локальная часть email не может быть пустой");

        if (string.IsNullOrEmpty(domain) || !domain.Contains('.') ||
            domain.StartsWith('.') || domain.EndsWith('.'))
            return new ValidationResult(false, "Некорректный домен: должен содержать точку и не начинаться/заканчиваться ею");

        return new ValidationResult(true);
    }
}