您的位置:首页 > 移动开发 > Objective-C

Object类的用法(三)

2007-02-22 04:04 393 查看
using System;
using System.Collections.Generic;
using System.Text;
namespace String._002
{
class Program
{
static void Main(string[] args)
{
string s = "Hello";
   string t = (string)s.Clone(); // 不复制;s 和 t 引用同一个字符串
//相当于 string t = "Hello"也相当于string t = s;

bool testbool = (object)s == (object)t;
Console.WriteLine(testbool); //true
string u = string.Copy(s); // 进行复制,s 和 u 引用不同的对象
Console.WriteLine(s == u);// true 判别str的值是否和strCopy的值是否相等\\实际上是值比较
Console.WriteLine((object)s == (object)u);// false 判别str所指的对象是否和strCopy所指的对象相同
//实际上是比较两个引用是否相等,也是比较地址是否相等
Console.WriteLine(Object.ReferenceEquals(s, t));// true 判别s所指的对象是否和t所指的对象相同
//实际上是比较两个引用是否相等,也是比较地址是否相等
Console.WriteLine(Object.ReferenceEquals(s, u));// false 判别s所指的对象是否和u所指的对象相同
//实际上是比较两个引用是否相等,也是比较地址是否相等

Console.WriteLine(s.Equals(t)); //true
Console.WriteLine(Equals(s, t)); //true
Console.WriteLine(s.Equals(u)); //true
Console.WriteLine(Equals(s, u)); //true
int a = 8;
int b = 8;
Console.WriteLine((object)a == (object)b);//false 比较的是引用
Console.WriteLine(ReferenceEquals(a, b)); //false 比较的是引用
Console.WriteLine(a.Equals(b)); //true 比较的是值和类型
Console.WriteLine(Equals(a, b)); //true 比较的是值和类型

string ret = string.Format("s same as t: {0}, s same as u: {1}",
Object.ReferenceEquals(s, t), (object)s == (object)u);
Console.WriteLine(ret);
Console.ReadKey();

}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息