Функциональность c # xor

Я обнаружил, что этот код переворачивает строку с помощью оператора or

public static string ReverseXor(string s)
{

      if (s == null) return null; 
      char[] charArray = s.ToCharArray(); 
      int len = s.Length - 1;

      for (int i = 0; i < len; i++, len--)
      { 
            charArray[i] ^= charArray[len]; 
            charArray[len] ^= charArray[i]; 
            charArray[i] ^= charArray[len]; }

       //some more code
}

Проблема в том, что я не понимаю, что происходит внутри цикла for, может ли кто-нибудь мне это объяснить?

] Спасибо.

5
задан Quintin Robinson 14 August 2011 в 06:01
поделиться