1 public class A
2 {
3 private string str;
4 public string Str
5 {
6 get { return str; }
7 set { str = value; }
8 }
9 }
10 class Program
11 {
12 static void change(string s, A a)
13 {
14 StringBuilder sb = new StringBuilder(s);
15 for (int i = 0; i < sb.Length / 2; i++)
16 {
17 char c = sb[i];
18 sb[i] = sb[sb.Length - 1 - i];
19 sb[sb.Length - 1 - i] = c;
20 }
21 s = sb.ToString();
22 a.Str = s;
23 }
24
25 static void Main(string[] args)
26 {
27 string s = "abcde";
28 A a = new A();
29 a.Str = s;
30 Console.WriteLine("Before change : {0} , {1}", s, a.Str);
31 change(s, a);
32 Console.WriteLine("After change : {0} , {1}", s, a.Str);
33 }
34 }
35  

 

 

THE RESULT:

Before change : abcde , abcde

After change : abcde , edcba