Для проверки номера на соответствие шаблону необходимо проверять различные символы, на наличие в справочнике (допустим первый символ может быть только A, B или C, каждый из вариантов имеет свою расшифровку, второй символ может быть только M, A, Y, местонахождение символа тоже играет важную роль). Есть ли какая-то возможность упростить данный код, потому как в нем очень много if?
static public bool Check(string number)
{
bool rightMark = true;
if (!technology.ContainsKey(number[0])) rightMark = false;
if (!continent.ContainsKey(number[1])) rightMark = false;
if (!Regex.IsMatch(number.Substring(2, 2), @"\d{2}")) rightMark = false;
if (!year.ContainsKey(number[4])) rightMark = false;
if (!resolution.ContainsKey(number[5])) rightMark = false;
if (!Regex.IsMatch(number.Substring(6, 4), @"\d{2}")) rightMark = false;
if (!tuner.ContainsKey(number[10])) rightMark = false;
if (!region.ContainsKey(number.Substring(11, 3))) rightMark = false;
return rightMark;
}