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();
}
}
}
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();
}
}
}
相关文章推荐
- wsdl2java中package-info、ObjectFactory用法
- 黑马程序员-Object-C封装,和对象.类方法,self关键字的用法总结
- Object.wait()与Object.notify()的用法详细解析
- Android网络开发之Volley--Volley基本用法JsonObjectReques(二)
- get_object_vars 用法
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- WaitForSingleObject和CEvent用法
- object-fit 用法
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- Object类的用法(一)
- (转)WaitForSingleObject函数用法
- OGNL表达式的基本语法和用法 【OGNL中的#、%和$符号】Object-Graph Navigation Language对Java对象图进行导航
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- C#Winform基础 button1_Click(object sender, EventArgs e)中sender是啥及其用法
- 【C++】WaitForSingleObject函数的使用&&WaitForSingleObject和CEvent用法
- l线程中 CreateEvent 和 SetEvent及WaitForSingleObject的两种用法
- Objectvie-C------NSArray、NSMutableArray基本用法总结
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
- Object.defineProperty 中 get set 用法
- SQL SERVER OBJECTPROPERTY()函数的用法