以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 Dot NET,C#,ASP,VB 』 (http://bbs.xml.org.cn/list.asp?boardid=43) ---- 求教关于C#两道题 (http://bbs.xml.org.cn/dispbbs.asp?boardid=43&rootid=&id=30348) |
-- 作者:chxccala -- 发布时间:4/11/2006 9:02:00 AM -- 求教关于C#两道题 求教关于C#两道题1.下面这段代码输出什么?为什么? int i=5,j=5; if (Object.ReferenceEquals(i,j)) Console.WriteLine("Equal"); else Console.WriteLine("Not Equal"); 拜托大家了! |
-- 作者:hdhjq123 -- 发布时间:4/24/2006 7:30:00 PM -- 关于你的两道题 1。因为int为值类型,相同的值在内存中各自有一分拷贝,所以他们指向不同的内存位置,故程序结果为Not Equal 2。在偶机器上已经通过编译 VS2005+XP using System; namespace ConsoleApplication4 if (j == myran.Next(0, 25)) ranArray[i] = letters[j]; } |
-- 作者:yudk -- 发布时间:4/27/2006 2:45:00 PM -- 第一题可能是想考你对Object.ReferenceEquals、Object.Equals以及Type System的认识。 第二题可能是想考你对string、stringbuilder以及字符串池的认识 |
-- 作者:codeprince -- 发布时间:8/29/2006 6:04:00 PM -- 先回答:第一道题 正确的输出为:Not Equal. 原因请参见<<Essential C# 2.0>>中的第9章:Overriding object Members.节的一个描述: Even when ReferenceEquals() passes the same variable in both (value type) parameters to ReferenceEquals(), the result will still be false because the very nature of value types is that they are copied into the parameters of the called method. 也就是说对于值类型的Indentity的是否相等是没有意义的,总返回false,即使在两个值类型的value相等的情况下. 我本来想传<<Essential C# 2.0>>,是2006年新书写的非常好,可是刚加入还没有权限,呵呵.有了之后我再上传. |
-- 作者:lizhijan -- 发布时间:9/13/2006 6:50:00 PM -- 这些基本知识还是下自己想一下好,问了过几天就忘了 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
97.656ms |