字符:字符是人们使用的标记某个事物的图画,抽象意义上的一个符号。单个的 ‘你’ ,‘我’ ,‘它’ 便是符号
字符串:有多个人们使用的符号组成 如:‘你们好’,‘大家好’ 等。
字节:字节是计算机信息技术用于计量存储容量和传输容量的计量单位,一个字节是8位二进制的具体存储控件,一个英文字母占有一个字节空间,而中文汉字则占两个字节空间。
null代表不给内存分配空间,而" “代表分配一个空字符串的内存空间,其次null 没有对象,可以用来判空,而” "有一个字符串的对象不能判空。
string不可变性?我们在编程时经常遇到 “string” 一个对象的情况,根据需要我们经常会对这个对象赋一个新值,那么这样是不是打破了"string" 的不可变性呢?
答案是否定的,我们常说的string的不可变形,其实是指内存中的字符串不可变,而不是变量不变。
string的对象是恒定不变的,而stringbuilder的对象是可变的。因此当我们每次使用system.string类中的方法是都会在内存中创建一个新的对象,并且为该字符串对象分配空间。而StringBuilder则由于是动态对象,可以扩充其所封存的字符串数量。
但是这也引来了另一个烦恼,因为它自动为自己分配空间可能会对其他的对象带来一些影响。因此我们可以通过给StringBuilder设置一个值,这样,当StringBuilder没有达到指定的容量前,他都不会给自己重新分配空间,直到容量达到上限,StringBuilder会自动分配新的空间且空间容量翻倍。
字符串的比较 Equals()
Equals()可以直接比较两个字符串是否一致,而不用像ToUpper,ToLower那样先将字符串进行大小转换,再进行比较。
字符串的外科手术刀 string.Split()string str ="我是患者——————————!"‘
char [] chs = new char[]{’—’} //手术刀将要切除的部分
string [] result = str.split(chs);//将切割后的内容添加进数组里
for (int i = 0; i < result.length; i++) //遍历数组显示手术完的字符串
{
console.writeline(result[i])
}
console.readkey();