C#之细节决定成败(1)
来源:互联网 发布:鹿晗同款帽子淘宝 编辑:程序博客网 时间:2024/05/24 04:07
Equal与运算符==的关系
在C#里面有两个不同的相等:应用相等和值相等。顾名思义,值相等表示两个对象所包含的值相等,例如:两个值都是1的具有值相等性,而应用相等比较的不是两个对象,而是这两个“引用对象”是否引用了同一个对象;
1. 值相等类型
如果两对象只是值相等的话,则相等运算符==返回True。否则返回False。
2. 引用相等类型
==操作符表示两个变量的值是否相等,或者引用的是否指向同一个内存地址。
Equals()方法比较的是两个对象指向的内存空间里面的内容是否相同,equals也是比较两个“引用类型”是否是对于同一个对象 的引用。即两个对象的内容是否相同。
代码:
namespace testBool
{
//classperson类
public class ClassPerson
{
public ClassPerson(string strName)
{
name=strName;
}
private string name=null;
//设置类型的字段名和属性
private string Name
{
set{name=value;}
get{return name;}
}
}
//主函数
class Program
{
static void Main(string[] args)
{
int n1 = 1;
int n2 = 1;
Console.WriteLine(n1 == n2); //true
Console.WriteLine(n1.Equals(n2)); //true
string str1 = "test";
string str2 = "test";
Console.WriteLine(str1 == str2); //true
Console.WriteLine(str1.Equals(str2));
object s1=str1;
object s2=str2;
Console.WriteLine(s1==s2);
Console.WriteLine(s1.Equals(s2));
string str3=new string(new char[] {'t','e','s','t'});
string str4=new string(new char[]{'t','e','s','t'});
object s3=str3;
object s4=str4;
Console.WriteLine(s3==s4);
Console.WriteLine(s3.Equals(s4));
ClassPerson p1=new ClassPerson("liuyuanmian");
ClassPerson p2=new ClassPerson("liuyuanmian");
Console.WriteLine(p1==p2);
Console.WriteLine(p1.Equals(p2));
ClassPerson p3=new ClassPerson("zhangxue");
ClassPerson p4=p3;
Console.WriteLine(p3==p4);
Console.WriteLine(p3.Equals(p4));
Console.ReadKey();
}
}
}
- C#之细节决定成败(1)
- 性能测试之细节决定成败
- 细节决定成败!
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败。
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 细节决定成败
- 从Larbin看互联网爬虫设计
- Python—UnicodeEncodeError: 'ascii' codec can't encode/decode characters
- 自动化测试——入门 测试工具的选取
- assert()函数用法总结
- leetcode-Longest Common Prefix
- C#之细节决定成败(1)
- 黑马入学_学习blog_第十一篇
- Ubuntu下Qt编译报错“cannot find -lGL”的解决方案
- Loadrunner1
- DLX+hdu2295
- 记一个蛋疼的BUG
- matlab 中的矩阵分解
- Java抽象类和接口
- 黑马程序员——Foundation(二)--经典基础知识联系和综合演练