标题:c#菜鸟问题
取消只看楼主
ckkwing
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-8-14
 问题点数:0 回复次数:3 
c#菜鸟问题

各位老大帮下忙,为什么下面的语句得出的是("a1 is not equal to a2"),我知道和internal int i 有关,但具体原因说不清楚,请大家帮我解答一下,谢谢!(我是新接触编程的菜鸟)



using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication25
{
class A
{
internal int i;
}
public class b
{
static void Main()
{
A a1 = new A();
A a2 = new A();
a1.i = 1;
a2.i = a1.i;
if (a1 == a2)
{
Console.WriteLine("a1 is equal to a2");
}
else
{
Console.WriteLine("a1 is not equal to a2");
}
}
}
}

搜索更多相关主题的帖子: class int System using 
2007-08-15 11:24
ckkwing
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-8-14
得分:0 

谢谢你们的帮助!!!!

2007-08-15 23:25
ckkwing
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-8-14
得分:0 
楼上的我问一下哦,下面的解答是我的一个朋友给我的,你看看是不是和你的意思差不多啊?

要理解清楚相等的含义:
相等有值相等和引用相等:
如果是值相等的话,只需要两个值类型相同,内容相等就可以了
如果是引用相等的话,初了上面的要相等外,还要引用数据存放的地址也要相同,也就是要完全相等!
这是我个人的理解,给你做个参考!
2007-08-16 10:32
ckkwing
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-8-14
得分:0 
以下是引用virusplayer在2007-8-16 16:11:31的发言:
和internal 没有关系了
是你的比较出了问题啊
你的是引用的比较,除了值相等还要地址相等。
俩个对象的地址肯定是不相等的
所以。。。。。。。。。。。。。。

原来和internal无关啊,是引用比较的原因,看来我的基础知识真的太不扎实了,谢谢

2007-08-17 09:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-162836-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.133832 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved