在下分别用了以下两种方法比较字符串: ianswer = "x" + ds.Tables["tablename"].Rows[0]["answer"].ToString().Trim(); choose = "x" + e.CommandArgument.ToString().Trim(); //if (ianswer == choose)
//{
// Label1.Text = "y";
// }
//else
//{
// Label1.Text = "n";
//}
if (String.ReferenceEquals(ianswer, choose))
Label1.Text = "y";
else
Label1.Text = "n";可是郁闷的是 不管怎么样返回的都是n,请教下高手这是怎么回事啊
//{
// Label1.Text = "y";
// }
//else
//{
// Label1.Text = "n";
//}
if (String.ReferenceEquals(ianswer, choose))
Label1.Text = "y";
else
Label1.Text = "n";可是郁闷的是 不管怎么样返回的都是n,请教下高手这是怎么回事啊
Equals方法对于值类型和引用类型的定义不同,对于值类型,类型相同,并且数值相同(对于struct的每个成员都必须相同),则Equals返回true,否则返回false。而对于引用类型,默认的行为与ReferenceEquals的行为相同,仅有两个对象指向同一个Reference的时候才返回true