命名空间
namespace(命名空间):可以解决类重名问题,可以看做”类的文件夹“。
可以认为类是属于命名空间的。
如果在当前项目中没有这个类的命名空间。需要我们手动导入这个类所在的命名空间。
1.用鼠标去点
2.alt+shift+F10
3.记住命名空间,手动的去引用
在一个项目中引用另一个项目中的类
1.添加引用
2.引用命名空间
值类型和引用类型
1.值类型和引用类型在内存上存储的地方不一样
2.在传递值类型和传递引用类型的时候,传递方式不一样
值类型我们称之为引用传递,引用类型我们称之为引用传递
我们学的值类型和引用类型:
值类型:int ,double, bool, char, decimal, struct, enum
引用类型:string, 自定义类,数组
存储:
值类型的值是存储在内存的栈当中
引用类型的值是存储字内存的堆当中
字符串
1.字符串的不可变性
当你给一个字符串赋新值后,老值并没有销毁,而是重新开辟了一块空间存储新值
当程序结束后,GC扫描整个内存,如果发现有空间没有被指向,则立即把它销毁。
2.我们可以将字符串做事char类型的一个只读数组
字符串的方法
TocharArray(); ----将字符串转化为数值
eg:string s = "snahd";
char [] chs = s.ToCharArray();
new string(char [] chs); ----能够将char数值转换为字符串
eg:string s = new string(chs);
StringBuilder
字符串提供的各种方法
1.0Length:获得当前字符串中字符的个数
2.ToUpper(); ----将字符转化成大写形式
3.ToLower(); ----将字符串转化成小写形式
其实还是开辟了一块新空间
eg:
4.bool Equals(A,B); ----比较两个字符串,是否相等。
一切类型都可以调用.Tostring()方法转换成字符串类型。
5.string splite(); ----分割字符串,返回字符串类型的数组。
eg:
字符串函数详解
字符串替换:string Replace(string oldValue,string newValue)将字符串中的出现oldValue的地方替换为newValue。例子:名字替换
String Substring(int startindex,int length); ----取从位置startindex开始长度为length的子字符串。如果子字符串的长度达不到length就报错。
bool Contains(string value); -----判断子字符串中是否含有value
bool StartWith(string value); ----判断字符串是否以子字符串value开始
bool EndsWith(string value); -----判断字符串是否以子串value结束
int IndexOf(string value,int index); ----取子串value第1次出现的位置,index为搜索的起始位置。--如果找不到就返回-1.
int LastIndexOf(string value,int index); ---和上面的相反
string Trim() ----从当前对象移除所有前导空白字符和尾部空白字符。
string TrimEnd() ----从当前对象移除所有尾部空白字符。
string TrimStart() ----从当前对象移除所有前导空白字符。
bool IsNullOrEmpty() ----判断字符串是null还是空。
string string.join(string separator,params object[] values) ----
串联对象数组的各个元素,其中在每个元素之间使用指定的分隔符。values:一个数组,其中包含要连接的元素。