Я бы порекомендовал использовать поиск по массиву, если вы подозреваете, что все будет часто меняться. Было бы лучше загрузить данные из базы данных или внешнего файла (чтобы упростить настройку), но здесь я жестко закодировал массивы:
int[] alimits = new int[] { 100, 120, 140, int.MaxValue };
int[] blimits = new int[] { 80, 100, 120, int.MaxValue };
int aval = 125;
int bval = 110;
int aindex = 0;
for (int i = 0; i < alimits.Count(); i++)
if (aval < alimits[i])
aindex = i;
int bindex = 0;
for (int i = 0; i < blimits.Count(); i++)
if (bval < blimits[i])
bindex = i;
string[,] values = new string[,] {
{"None", "Red", "Orange", "Orange"},
{"None", "Red", "Orange", "Green"},
{"None", "Red", "Green", "Green"},
{"None", "Orange", "Green", "Green"}};
Это не проверено, но должно дать вам основную идею. Вы получите результат как values[aindex, bindex]
.