这是一道面试题。
请高手帮忙解答。
谢谢。

解决方案 »

  1.   

    还可以用泛型约束证明 where T:class
      

  2.   

    string a = "hello";
    string b = "h";
    b += "ello";// Append to contents of 'b'
    Console.WriteLine(a == b);//true
    Console.WriteLine((object)a == (object)b);//false
      

  3.   

    之所以先显示“True”,然后显示“False”,
    是因为字符串的内容是相同的,但是 a 和 b 引用的不是同一个字符串实例。
      

  4.   

    Console.Write("abc" is ValueType);
      

  5.   

    这个有些搞笑。
    int a = 1;
    int b = 1;
    Console.WriteLine(a == b); //true
    Console.WriteLine((object)a == (object)b); //false
    这个代码怎么解释呢?
      

  6.   

    我想,你不是想让我解释你的代码楼主的问题并不可笑,MSDN有专门的解释:
    http://msdn.microsoft.com/zh-cn/library/362314fe.aspx微软的例子之所以用:b += "ello";
    是为了说明+运算符对于string起到的效果类似于值类型的+运算
      

  7.   

    比较简单的证明
    string str = ".net";
                bool result = str is System.ValueType;
                Response.Write(result ? "是值类型" : "是引用类型");
      

  8.   

    需要证明的是定理,真理不需要证明...string的源码声明其为引用类型是一个客观事实,根本不需要证明...你可以对面试官say...go to hell...