C#进阶2_字符串、继承

1、命名空间:可以认为类是属于命名空间的。
如果在当前项目中没有这个类的命名空间,需要我们手动的导入这个类所在的命名空间。
1)、用鼠标去点。
2)、Alt+Shift+F10。
3)、记住常用的命名空间,手动用using 去引用。

2、在一个项目中引用另一个项目的类
1)、在项目的引用项里添加引用。
2)、引用命名空间。

3、值类型和引用类型
区别:
1)、值类型和引用类型在内存上存储的地方不一样。
2)、在传递值类型和传递引用类型的时候,传递的方式不一样。
值类型我们称之为值传递,引用类型我们称之为引用传递。
我们学的值类型和引用类型:
值类型:int、double、bool、char、decimal、struct、enum
引用类型:string、自定义类、数组
存储:
值类型的值是存储在内存的栈当中。
引用类型的值是存储在内存的堆当中,同样在栈中开辟有一个空间,存的是这个值的引用(地址)。

4、字符串
1)、字符串的不可变性:当你给一个字符串重新赋值后,老值并没有销毁,而是重新开辟一块存储新值。
当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁。
2)、我们可以将字符串看做是char类型的一个只读数组。->不可变性
ToCharArray();将字符串转换为char数组。
new string(char[] 数组名):能够将char数组转换为字符串

5、字符串提供的各种方法
1)、Length:获得当前字符串中字符的个数。
2)、ToUpper():将字符串转换成大写形式。
3)、ToLower():将字符串转换成小写形式。
4)、Equals(字符串名,StringComparison.OrdinalIgnoreCase):比较两个字符串,并忽略大小写。
5)、Split():分割字符串,返回字符串类型的数组。
6)、Contains():判断字符串是否包含有某些字符,返回一个bool类型。
7)、Replace(要替换的字符串,替换成的字符串):字符串的替换
8)、Substring(要截取的字符串的起始位置,要截取的长度):从指定的字符串位置开始截取,直至截取到指定的长度。
9)、StartsWith(判断开始的字符串):判断字符串是否以什么开始
10)、EndsWith(判断结束的字符串):判断字符串是否以什么结束
11)、IndexOf(查找的字符,从哪里开始找):字符第一次出现的位置,返回一个int,若找不到返回一个-1.
12)、LastOf(查找的字符,从哪里开始找):字符最后一次出现的位置,返回一个int,若找不到返回一个-1.
13)、Trim():去除前面和后面的空字符,返回一个string。
14)、TrimStart():去掉开头的空字符,返回一个string。
15)、TrimEnd():去掉尾部的空字符,返回一个string。
16)、IsNullEmpty(字符串):判断是否为空字符。
17)、Join(分隔符,可变参数):将指定的分隔符分隔每个数组的元素。

6、继承:
我门可能会在一些类中,写一些重复的成员,我们可以将这些重复的成员,单独的封装到一个类中,作为这些类的父类。
基类(父类)
派生类(子类)
子类继承了父类,那么子类从父类那里继承过来了什么?
首先,子类继承了父类的属性和方法,但是子类并没有继承父类的私有字段。
子类并没有继承父类的构造函数,在子类创建一个对象的时候,也会创建一个父类的对象,这样才能用到父类的方法和属性。子类会默认的调用父类无参数的构造函数,创建父类对象,让子类可以使用父类中的成员。
所以,如果在父类中重新写了一个有参数的构造函数之后,那个无参数的就被干掉了,子类就调用不到了,所以子类会报错。
解决方法:
1)、在父类中重新写一个无参数的构造函数。
2)、在子类中显示的调用父类的构造函数,使用关键字:base()

7、继承的特性
1)、继承的单根性:一个子类只能有一个父类。
2)、继承的传递性:子类继承父类,孙子辈的可以继承父辈的还可以继承爷爷辈的。
8、查看类图:视图->查看类图
9、关键字new
1)、创建对象
2)、隐藏从父类那里继承过来的同名成员。
隐藏的后果就是子类调用不到父类的成员。

10、object是所有类的基类
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值