Ciao ratal.
Ho provato a far girare la tua applicazione solo che mi da errore sul vettore della "stingafinale[j]" :
codice:
           string string1 = "porta";
           string string2 = "ra";
           string stringfinale = "-----";
            for (int i = 0; i < string2.Length; i++)
            {
                for (int j = 0; j < string1.Length; j++)
                {
                    if (string2[i] == string1[j])
                        stringfinale[j] = string2[i];
                }
            }
            Console.WriteLine(string1);
            Console.WriteLine(string2);
            Console.WriteLine(stringfinale);
L'errore che genera è questo:
Errore 1 Impossibile assegnare un valore alla proprietà o all'indicizzatore 'string.this[int]' perché è in sola lettura