У меня есть строка с разделителями-запятыми, которую нужно разбить на диапазоны массивов, которые можно передать в оператор BETWEEN сервера SQL.
Например, скажем, у меня есть следующая строка ниже, мне нужен соответствующий returnVal;
string delimited = "1,2,5,6,7,8,11,12,13,15,16,17,18,19";
returnVal = int[,] ranges = new int[4, 2] { { 1, 2 }, { 5, 8 }, { 11, 13 }, { 15, 19 } };
Мой оператор SQL между будет выглядеть как
WHERE (ID BETWEEN 1 AND 2) OR (ID BETWEEN 5 AND 8) OR (ID BETWEEN 11 AND 13) OR (ID BETWEEN 15 AND 19)
Вместо
WHERE ID IN (1,2,5,6,7,8,11,12,13,15,16,17,18,19)
Моя фактическая строка с разделителями - более 5000 идентификаторов, поэтому для эффективности мне нужно использовать операторы BETWEEN, а не IN.
Какой самый эффективный способ сделать это с помощью C #?