Łańcuchy XOR w C #

Ostatnio zacząłem się bawić z C # i staram się zrozumieć, dlaczego poniższy kod nie kompiluje się. W wierszu z komentarzem o błędzie otrzymuję:

Nie można niejawnie przekonwertować typu „int” na „char”. Wyraźna konwersja kończy się (czy brakuje Ci obsady?)

Próbuję wykonać prostą operację XOR z dwoma łańcuchami.

public string calcXor (string a, string b)
{
    char[] charAArray = a.ToCharArray();
    char[] charBArray = b.ToCharArray();
    char[] result = new char[6];
    int len = 0;

    // Set length to be the length of the shorter string
    if (a.Length > b.Length)
        len = b.Length - 1;
    else
        len = a.Length - 1;

    for (int i = 0; i < len; i++) {
        result[i] = charAArray[i] ^ charBArray[i]; // Error here
    }

    return new string (result);
}

questionAnswers(3)

yourAnswerToTheQuestion