惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
SecWiki News
SecWiki News
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
小众软件
小众软件
C
CERT Recently Published Vulnerability Notes
Jina AI
Jina AI
N
Netflix TechBlog - Medium
GbyAI
GbyAI
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
AWS News Blog
AWS News Blog
G
GRAHAM CLULEY
L
Lohrmann on Cybersecurity
C
Cybersecurity and Infrastructure Security Agency CISA
I
Intezer
T
Tor Project blog
P
Palo Alto Networks Blog
P
Privacy & Cybersecurity Law Blog
P
Privacy International News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
P
Proofpoint News Feed
T
Tailwind CSS Blog
C
Check Point Blog
Cloudbric
Cloudbric
Y
Y Combinator Blog
The Last Watchdog
The Last Watchdog
Forbes - Security
Forbes - Security
Last Week in AI
Last Week in AI
S
Security Affairs
博客园 - Franky
F
Fortinet All Blogs
量子位
M
MIT News - Artificial intelligence
C
Cisco Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
S
Secure Thoughts
V
Visual Studio Blog
AI
AI
美团技术团队
B
Blog RSS Feed
Application and Cybersecurity Blog
Application and Cybersecurity Blog
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
Engineering at Meta
Engineering at Meta
人人都是产品经理
人人都是产品经理
Microsoft Security Blog
Microsoft Security Blog
T
Threatpost
Cyberwarzone
Cyberwarzone

博客园 - 小居工作室

七牛云存储客户端(本人开发,开源) 如鹏网 net高级技术 第二章 委托和事件(复习) 如鹏网 net高级技术 第一章 各种知识点(复习) 写个QuartzHelper类 Pdf File Writer 中文应用(PDF文件编写器C#类库) 如鹏网 静态Web开发 第五章:JQuery 如鹏网 静态Web开发 第四章:JSDom 如鹏网 静态Web开发 第三章:Javascript 如鹏网 静态Web开发 第二章:css 如鹏网 静态Web开发 第一章:html 如鹏网.Net三层架构 第四章代码生成器 如鹏网.Net三层架构 第三章MD5和NPOI使用 如鹏网.Net三层架构第二章登录和会员管理 如鹏网.Net三层架构第一章三层基础 如鹏网.Net高级技术9.XML文件操作 如鹏网.Net高级技术8.反射 如鹏网.Net高级技术6.正则表达式 如鹏网.Net高级技术7.委托、事件 如鹏网.Net高级技术5.泛型集合及键值对 如鹏网.Net高级技术3.值类型和引用类型
如鹏网.Net高级技术4.String特点及常用方法
小居工作室 · 2016-03-04 · via 博客园 - 小居工作室

String特点及常用方法

字符串的特性:不可变性和"暂存池"(常量池)的特性

通过案例了解字符串中的方法.

如何比较两个对象是不是同一个对象的最准确的方法ReferenceEquals

-------------------------------------------------

 不可变性:str 被赋值后 内存地址是不一样的。

只是字符串的值是常量值时,就指向暂存池中的对象。

string s1="1",s2="2",s3="3";

string str="123";//指向暂存池中的对象。

stirng s=s1+s2+s3; //不是指向暂存池中的对象。

此时 str!=s;

字符串:变量名指向 暂存池中的对象。

------------------------------------------------

 比较两个对象是否为同一个对象:地址是否相同

课件中讲解Equals和"=="两种方式比较两个对象是不是同一个对象已经不准确了,因为都可以被重写.

只有通过object的ReferenceEquals方法才更加的准确

 因为Equals可以被重写,所以比较不准确。

比较两个对象是否为同一个对象,什么是同一个对象?(地址)

如何判断str1与str2是否为同一个对象?

Equals和== Equals已经不可靠了。"=="也不靠谱了。

String类的==运算符,内部调用的也是Equals("=="运算符重载后也是调用的 EqualsHelper()来判断的,与Equals(string)方法一样。只是比较值是否相等)

为什么字符串的Equals和别的不一样?

string的Equals方法判断的是字符串的内容是否相同(重写了Object中的Equals方法。)

查看判断两个对象是否相同要用:object.ReferenceEquals();

   即时窗口中:*p1  获得地址

同一个对象判断使用:object.ReferenceEquals(s1,s2);最准确判断同一个对象。

如鹏网:http://www.rupeng.com