一、常见值类型:int double float 枚举 结构体 bool decimal char 存储在栈上
引用类型:数组 字符串 类 接口 存储在堆上
二、字符串具有不可变性
实际上,s2依然是草帽姐。为什么呢?因为字符串具有不可变性。当给字符串重新赋值的时候,会为该变量重新开辟空间
当你给一个字符串重新赋值后,老值并没有被销毁,而是重新开辟一块空间存储新值。程序结束后,
GC扫描整个内存,如果发现有的空间没有被指向,则立即收回。
三、可以把字符串当做一个char数组
1、命名空间
怎样引入命名空间,1)在拼写正确的前提下,点击该对象,会出现黄灯,点击它,会自动添加命名空间
2)Alt+Shift+F10
四、字符串的常用方法
1、属性:length 记录字符串的长度。
2、ToUpper():将字符串转换成大写字母
//string s1 = "Welcome to ShanDong";
//string s2 = s1.ToUpper(); //小写转大写
//string s3 = s1.ToLower(); //大写哦转小写
//Console.WriteLine(s3);
3、Equals(str,StringComparation.OrdinalIgnalCase):判断两个字符串是否相等
string s1 = "Dear";//两情若是久长时,又岂在朝朝暮暮";
string s2 = "dear"; //两情若是久长时,又岂在朝朝暮暮";
bool b = s1.Equals(s2,StringComparison.OrdinalIgnoreCase);//忽略大小写比较是否相等
Console.WriteLine(b);
4、Split(char[] seperator,StringSplitOptions.RemoveEmptyEntries):将字符串按照指定的分隔符分割成字符串数组
5、bool Contains(string value):判断字符串中是否含有子串value
//string s = "床前明月光,疑是地上霜";
//bool b = s.Contains("明月");
//Console.WriteLine(b);
6、string Replace(string oldValue,string newValue):将字符串中出现oldValue的地方替换成newValue。
//string Replace(string oldValue, string newValue):将字符串中出现oldValue的地方替换成newValue。
// string str = "我有点饿了,中午想吃牛肉板面";
//string s= str.Replace("牛肉板面", "满汉全席");
// Console.WriteLine(s);
7、 string SubString(int startI