Chinaunix首页 | 论坛 | 博客
  • 博客访问: 382939
  • 博文数量: 61
  • 博客积分: 1546
  • 博客等级: 中尉
  • 技术积分: 708
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-22 20:07
文章分类

全部博文(61)

文章存档

2011年(61)

分类: 嵌入式

2011-04-27 22:56:32

==运算符用于比较两个操作数是否相对。对于基本数据类型,就不用多说了,没有太大问题
对于引用数据类型,如类对象、string,可能就有一点疑惑

string s1="test";
string s2=string.copy(s1);
Console.WriteLine(s1==s2);
Console.WriteLine((object)s1==(object)s2);
输出结果是:
true
false

稍微修改一下
string s1="test";
string s2=s1;
或string s2="test";
则输出结果是:
true
true

可能对于string类型常量,是保存在堆栈中的,然后string类型对象就引用同一个对象
而用string.copy()方法,会在堆栈中产生一个新的string对象

对于==操作符:
如果两个基本数据类型的操作数,它们的数值相等,它们就被认为是相等的
如果两个object类型的表达式都指向相同的对象或者都是空,它们被认为是相等的
如果字符串实例有相同的长度并且在每个字符的位置都相同或者都为空,它们被认为是相等的
---以上3条是在某本书上看到的。
阅读(1369) | 评论(0) | 转发(0) |
0

上一篇:C#语言参考-pdf版

下一篇:C#入门经典-数组

给主人留下些什么吧!~~