1.构造函数(构造方法)
作用:帮助我们初始化对象(给对象的每个属性一次赋值)
构造函数是一个特殊的方法
1.构造函数没有返回值,连void也不能写;
2.构造函数和类名一样
3.构造函数的修饰符必须为public
4.创建对象的时候会执行构造函数
5.构造函数可以有重载
6.类当中会有一个默认的无参数的构造函数
7.当你写了一个新的构造函数后原来的类中默认的无参的构造函数就被代替了
2.new关键字
Person zs = new Person;
new帮助我们完成了三件事
1.在内存中开辟一块空间
2.在开辟的空间中创建对象
3.调用对象的构造函数进行初始化对象
3.this关键字
1.代表当前类的对象
2.在类当中显示的调用本类的构造函数 语法: :this
4.析构函数
程序结束的时候 析构函数才会执行
帮助我们释放资源
语法
~studen()
{
}
5.命名空间
可以认为类是属于命名空间的
如果当前项目中没有这个类的命名空间,需要我们手动导入这个类的命名空间
1.用鼠标去点
2.alt+shift+F10
3.记住命名空间手动的去引用
6.引用项目类
1.添加引用
2.引用命名空间
7.值类型和引用类型
区别:
1.值类型和引用类型在内存上存储的地方不一样
2.在床底值类型和床底引用类型的时候,传递的方式不一样
值类型我们称之为之传递,引用类型我们称之为引用传递
我们学的值类型和引用类型
值类型:int double bool char decimal struct enum
引用类型:string 自定义类
存储:
值类型的值是存储在内存的栈当中
引用类型的值是存储在内存的堆中
8.字符串
1.字符串的不可变性
当你给一个字符串重新赋值后,老值并没有销毁而是重新开辟一个新的空间给新值
当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立刻把它销毁
2.字符串是char类型的只读数组
ToCharArray();将字符串转换为char数组
new string (char[] chs): 能够将char数组转换为字符串
9.计时器
Stopwatch sw = new Stopwatch();//new 一个计时器
sw.Start();//开始计时
for (int i = 0; i < 100000; i++)
{
str += i;
}
sw.Stop();//结束计时
Console.WriteLine(sw.Elapsed);//输出总用时
Console.ReadKey();
10.字符串提供的各种方法
- .Length:获得当前字符串中字符的个数
- .ToUpper():将字符串转换成小写形式
- .ToLower():将字符串转换成小写形式
- .Equals(lessonTwo,StringComparison.OrdinalIghoreCase)😕/比较字符串两个字符串并忽略大小写
- .Split 分割字符串str.Split(chs, StringSplitOptions.RemoveEmptyEntries);//删除字符串中不需要的值
- .substring():解决字符串。在截取的时候包含要截取的那个位置。
- .Indexof():判断某个字符串在字符串中第一次出现的位置,如果没有返回-1
- .LastIndexof():判断某个字符串在字符串中最后一次出现的位置,如果没有返回-1
- .startswith ():判断以…开始
- .Endswith ():判断以…结束
- .Replace():将字符串中某个字符串替换成一个新的字符串
- .contains ():判断某个字符串是否包含指定的字符串
- .Trim ():去掉字符串中前后的空格
- .TrimEnd ():去掉字符串中结尾的空格
- .Trimstart():去掉字符串中前面的空格
- .string.IsNullOrEmpty():判断一个字符串是否为空或者为nullI
- .string.Join():将数组按照指定的分隔符连接,返回一个字符串。