.NET的String处理功能,你难道忘了吗?(六)——深入探讨
- 内容介绍
- 文章标签
- 相关推荐
本文共计2952个文字,预计阅读时间需要12分钟。
一. 文章伊始,在文章之前,写下本文的目的。在我昨天的一篇文章中,重新温习了设计模式(一)——享元模式中,我在文中提到了关于String字符串的内存保留机制。在文章的评论中,杨同学提到:
一. 文章伊始
在文章之前,说下写出这篇文章的目的。在我昨天的一篇文章<<重温设计模式(一)——享元模式>>中,我在文中提到了关于String的字符串驻留机制。在文章的评论中,杨同学对我的字符串相关观点提出质疑,并且成文,不过我现在无法找到那个链接了。
于是,我想把这个老掉牙的话题在此重谈。
究竟我们对String这个常用的类型有多少理解。
二. 从C看起
C语言是我接触的第一个程序语言。还记得当时给我的C语言老师是一个专业做Java SOA的老师。
于是,她在讲授C的时候经常给我们时不时地与Java做着对比,尽管我们当时并不懂Java是个什么东东,只知道这个词经常出现于手机游戏上。
当时我还记得老师一句很经典的话:我们要记得,C中没有字符串这个概念(其实我们当时还不懂什么是字符串),所谓的字符串在C中表现为字符数组。
那就让我们来复习一下,在C中的“字符串”的表现形式:
char s[]=”abc”;
接下来,我们便可以使用s去调用各种“字符串”函数。
那么我们可以清楚地看到在C语言中,“字符串”其实存储的就是字符数组的首地址,那么在.NET中又是如何呢?
三. String vs string
在学校的时候,这个问题被同学无数次问过,尤其是很多学Java的朋友。
本文共计2952个文字,预计阅读时间需要12分钟。
一. 文章伊始,在文章之前,写下本文的目的。在我昨天的一篇文章中,重新温习了设计模式(一)——享元模式中,我在文中提到了关于String字符串的内存保留机制。在文章的评论中,杨同学提到:
一. 文章伊始
在文章之前,说下写出这篇文章的目的。在我昨天的一篇文章<<重温设计模式(一)——享元模式>>中,我在文中提到了关于String的字符串驻留机制。在文章的评论中,杨同学对我的字符串相关观点提出质疑,并且成文,不过我现在无法找到那个链接了。
于是,我想把这个老掉牙的话题在此重谈。
究竟我们对String这个常用的类型有多少理解。
二. 从C看起
C语言是我接触的第一个程序语言。还记得当时给我的C语言老师是一个专业做Java SOA的老师。
于是,她在讲授C的时候经常给我们时不时地与Java做着对比,尽管我们当时并不懂Java是个什么东东,只知道这个词经常出现于手机游戏上。
当时我还记得老师一句很经典的话:我们要记得,C中没有字符串这个概念(其实我们当时还不懂什么是字符串),所谓的字符串在C中表现为字符数组。
那就让我们来复习一下,在C中的“字符串”的表现形式:
char s[]=”abc”;
接下来,我们便可以使用s去调用各种“字符串”函数。
那么我们可以清楚地看到在C语言中,“字符串”其实存储的就是字符数组的首地址,那么在.NET中又是如何呢?
三. String vs string
在学校的时候,这个问题被同学无数次问过,尤其是很多学Java的朋友。

