Сравнение нескольких параметров
Cтолкнулся со следующей проблемой : Необходимо реализовать проверку каждой входящей переменной (дважды), в случае числового, то на нахождения в недиапазоне от меньше N до больше M, в случае текстового, то просто либо Null, либо Empty.String. Пытался реализовать при помощи if, также пытался писать case с условием выполнения, но обнаружил, что необходима версия 9.0 . Проблема начинается с того, что при вводе значений типа (1,1, "november") или (2,10, "april") метод начинает выдавать ошибку. Хотелось бы понять, что не так сделано
public static string Date (int day, int month, string year)
{
if (day < 1 | day > 31)
{
throw new ArgumentOutOfRangeException(nameof(day));
}
if (month < 1 | month > 12)
{
throw new ArgumentOutOfRangeException(nameof(month));
}
else if (year == null && year == string.Empty)
{
throw new ArgumentNullException(nameof(year));
}
else
{
return year;
}
}