【C#】字符串的操作、堆和栈的区别、值类型和引用类型的区别、继承、Protected

一、字符串的操作

1.字符串转换成小写、大写的方法

  • ToLower():得到字符串的小写形式
  • ToUpper():得到字符串的大写形式
  • Trim():去掉字符串两端的空白

2.忽略大小写

  • s1.Equals(s2,StringComparison.OrdinallgnoreCase):两个字符串进行比较,不区分大小写的比较

3.字符串的分割

  • string Split(params char[]separator):将字符串按照制定的分割符分割为字符串数组
  • string Split(char[]separator,StringSplitOptions options)将字符串按照制定的char分割符分割为字符串数组(options取RemoveEmptyEntries的时候一处结果中的空白字符串)

ps:一切类型都可以调用.ToString()方法转换成字符串类型 

4.字符串函数 

  • string Replace(string oldValue, string newValue) 将字符串中的出现oldValue的地方替换为newValue
  • string Substring(int startIndex),取从位置startIndex开始一直到最后的子字符串
  • bool Contains(string value) 判断字符串中是否含有子串value
  • bool StartsWith(string value) 判断字符串是否以子串value开始
  • bool EndsWith(string value) 判断字符串是否以子串value结束
  • int IndexOf(string value):取子串value第一次出现的位置
  • int IndexOf(string value,int startIndex)

二、堆和栈的区别

  • 栈是编译期间就分配好的内存空间,因此你的代码中必须就栈的大小有明确的定义;局部值类型变量、值类型参数等都在栈内存中。
  • 堆是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小。

三、值类型和引用类型的区别

  • 将一个值类型变量赋给另一个值类型变量时,将复制包含的值。引用类型变量的赋值只复制对对象的引用,而不复制对象本身。
  • 值类型不可能派生出新的类型:所有的值类型均隐式派生自System.ValueType。但与引用类型相同的是,结构也可以实现接口。
  • 值类型不可能包含null值。
  • 每种值类型均有一个隐式的默认构造函数来初始化该类型默认值。

                                           类别

                                                  描述

值类型

基本数据类型

整型:int

长整型:long

浮点型:float

字符型:char

布尔型:bool

枚举类型

枚举:enum

结构类型

结构:struct

引用类型

基类:System.Object

字符串:string

自定义类:class

接口

接口:interface

数组

数组:int[].string[]

四、继承 

 1.继承的使用

  • class Student:Person{......};
  • class Teacher:Person{......};
    • 子类继承了父类的成员,子类还可以有自己的成员。
    • Person叫做父类(基类)Student和Teacher叫子类(派生类)
    • Student继承了Person类
    • Person类派生了Teacher类
  • 在C#中,所有的类都直接或间接地继承自了object类。(当我们定义一个类的时候,如果没有写:继承一个类,那么这个类就继承了object类) 

2.显示调用父类的构造函数

  • 子类中如果有有参数的构造函数,会默认的去调用父类中的无参数的构造函数
  • 显示调用父类的构造方法,关键字:base

 五、Protected

  • protected访问修饰符不允许其他非子类访问
  • 继承的传递性:子类继承父类的属性,通过构造函数,把子类的属性的值传到父类属性里边去,给父类里边的字段赋值
  • 继承的单根性 :基类(父类)只有一个,子类可以有多个

 

发布了70 篇原创文章 · 获赞 17 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/hsm_Jasmine/article/details/100807610
今日推荐