请教一下关于==和equals的问题
在java中
     String a = new String(new char[] { 'h', 'e', 'l', 'l', 'o' });
     String b = new String(new char[] { 'h', 'e', 'l', 'l', 'o' });   
     System.out.print(a == b);
     System.out.print(a.equals(b));
     Object g = a;
     Object h = b;
     System.out.print(g == h);
     System.out.print(g.equals(h));
输出结果为:false true false true
这个我理解
但在C#中,为什么
             string a = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
             string b = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
             Console.WriteLine(a == b);
             Console.WriteLine(a.Equals(b));
             object g = a;
             object h = b;
             Console.WriteLine(g == h);
             Console.WriteLine(g.Equals(h));
输出结果为:true true false true
是不是Java和C#的new机制不一样,求指教。。。谢谢
------解决方案--------------------