using System;
class Program
{
static string ReverseStringWithoutTemporaryVariable(string str) {
int start = 0, end = str.Length - 1;
char[] arr = str.ToCharArray();
while (start < end) {
arr[start] ^= arr[end]; // XOR used to swap two variables
arr[end] ^= arr[start];
arr[start] ^= arr[end];
start++;
end--;
}
return String.Join("", arr);
}
static void Main() {
string str = "c# java c";
str = ReverseStringWithoutTemporaryVariable(str);
Console.Write(str);
}
}
/*
run:
c avaj #c
*/