Obsługa obliczeń tymczasowych w Linq

Podczas rozwiązywania pytania wywiadu

Pytanie Sześciocyfrowa liczba musi być znaleziona w taki sposób, gdy jest mnożona przez liczbę całkowitą między 2 a 9, daje oryginalną sześciocyfrową liczbę, gdy jej cyfry są odwrócone.

Przykład:

Przypuśćmy, że pomnożę 219978 * 4, a otrzymam 879912, gdy odwrócona 879912 otrzymam 219978 z powrotem.

Rozwiązałem to za pomocą

for (long l = 100000; l < 999999; l++)
{
 var num = l.ToString();

for (int i = 3; i < 9; i++)
{
  var mul = l * i;
  string str = mul.ToString();
  char[] splitDigits = str.ToCharArray();
  string reversedDigit =
  new  string(splitDigits.Reverse().ToArray());

  if (reversedDigit.CompareTo(num) == 0)
    {
      Console.WriteLine("{0} * {1}= {2},
       when multiplied {3} ", num, i, mul,reversedDigit);

    }

 }
}

Pierwotnym zadaniem było rozwiązanie go za pomocą linq. Mam na przykład trochę zamieszania w obsłudze obliczeń temp

kiedy używam

   var = from l in Enumerable.Range(100000,999999)
         from i in Enumerable.Range(3,9)

W jaki sposób radzić sobie z tymczasowymi obliczeniami, takimi jak var num = l.ToString (), itp. W linq.Mieszało mnie to bardzo, że skończyłem w Linq.Help jest doceniany.

questionAnswers(2)

yourAnswerToTheQuestion