private void button1_Click(object sender, EventArgs e)
        {
            string aa = "111";
            StringBuilder bb = new StringBuilder("111");
            string cc = bb.ToString();
            string dd = "111";
            string ee = "222";
            OpTest(aa, ee);
        }        private void OpTest<T>(T s, T t) where T : class
        {
            if (t ==s)
            {                MessageBox.Show("Y");
            }
            else
            {
                
               
                MessageBox.Show("N");
            }
        }
前提: 在范型中使用class约束的时候,如果使用==,系统只会测试引用同一性,而不会测试值相等
如上代码的测试结果:
OpTest(aa, cc);    "N"
OpTest(aa, dd);    "Y"
OpTest(aa, ee);    "N"
这里我不明白的是aa和dd 他们应该是分配的两个地址空间,怎么会是引用同一呢? 另外引用同一性的真正含义是什么,也不很清楚, 有知道的指点一下,谢了。