@作者: 风不停息丶
一、String字符串特性
1、字符串常量具备字符串池特性
字符串常量在创建前,首先在字符串池中查找是否存在相同文本。如果存在,则直接返回该对象引用;如果不存在,则开辟空间存储。
目的:提高内存利用率。
string str01 = "八戒";
string str02 = "八戒";//是同一对象
string str03 = new string(new char[] {
'八', '戒' });
string str04 = new string(new char[] {
'八', '戒' });//不是同一对象
2、字符串具有不可变性
字符串常量一旦进入内存,就不得再次改变。因为如果在原位置改变会使其他对象内存被破坏,导致内存泄漏。当遇到字符串变量引用新值时,会在内存中新建一个字符串,将该字符串地址交由该变量引用。
string name = "悟空";
name = "老孙";//这里不是将文本"悟空" 修改为 文本 "老孙"
//重新开辟空间,存储"老孙",再替换name中存储的引用
二、字符串常用方法
属性或方法名 | 作用 |
---|---|
Length | 获取字符串的长度,即字符串中字符的个数 |
IndexOf | 返回整数,得到指定的字符串在原字符串中第一次出现的位置 |
LastlndexOf | 返回整数,得到指定的字符串在原字符串中最后一次出现的位置 |
Starts With | 返回布尔型的值,判断某个字符串是否以指定的字符串开头 |
EndsWith | 返回布尔型的值,判断某个字符串是否以指定的字符串结尾 |
ToLower | 返回一个新的字符串,将字符串中的大写字母转换成小写字母 |