en un arreglo de numeros de x cantidad de numeros, siempre el famoso 01 al 99

concatenando splist o variables de dos numeros cada uno de ese arreglo de esta manera:
Código
Dim Bz1 As IEnumerable(Of Integer) = ( From Value As Integer In split(1).Concat(split(2).Concat(split(3)).Concat(split(4)).Concat(split(5))) Where (Value <= MAX AndAlso Value > 0)).Distinct Dim Sl1 As IEnumerable(Of Integer) = Bz1 Dim SM1 As List(Of Integer) = Bz1.toList SM1.Sort() Me.ListBox2.Items.AddRange((From value As Integer In SM1 Where value <> 0).Cast(Of Object).ToArray)
Bien esto funciona bien el problema que quiero resolver es que tiene correlatividad de numeros.
arreglo principal ( 01 02 03 04 05 06 07 08 09 10 ....................99)
este codigo muestra este resultado
01 02 03 04 05 06 07 08 09 10
Porque al ordenarse el arreglo los splits o variables enpiezan desde el principio del arreglo
split(1) = 01 02
split(2) = 03 04
split(3) = 05 06
split(4) = 07 08
split(5) = 09 10
estos split los saco de esta funcion que toma los valores del arreglo principal
Código
Dim split As IEnumerable(Of IEnumerable(Of Integer)) =
en definitiva lo que nesecito es hacer saltos de numeros intermedios de los numeros contenidos en los split
ejemplo
ahora es de esta forma
split(1) = 01 02
split(2) = 03 04
split(3) = 05 06
split(4) = 07 08
split(5) = 09 10
******************
y lo nesecito de esta forma
split(1) = 01 03
split(2) = 02 04
split(3) = 05 07
split(4) = 06 08
split(5) = 08 10
Bueno antes de preguntar he usado take,skip sin resultados

claro esta que si volvemos a unir los split como estan ahora y despues, se formaria la misma combinacion pero lo puse a si para el ejemplo ya que las concatenaciones cambian de forma que haga otras numeraciones

Luis