C# 零七乱八

 

Length可以拿到字符串数组的长度;

 

保留小数:

{0:0.00}. —>输出两位小数;

string s=avg.ToString (“0.00”).           //将小数转换为字符串,保留两位

avg=Convert.ToDouble(s)。             //将字符串格式重新转为double格式

 

Console.clear();清屏

 

 

面向过程:为每个对象量身定做(都不同)

面向对象:找个对象帮你做事(通用)

对象「属性,方法」==「特征,行为」

 

this 表示当前类的对象

普通类不占用内存,对象占内存,静态类占内存;

 

 

 

静态和非静态的区别:

1.在非静态类中可以有实力成员,也可以有静态成员

2.调用实例成员的时候需要使用对象名。实例成员();

3.调用静态成员的时候需要使用类名。静态成员;

 

静态成员必须使用类名去调用

实力成员使用对象去调用

 

静态函数中,只能访问静态成员,不允许访问实例成员

实例函数中既可以使用静态成员,也可以使用实例成员

 

4.静态类中只允许有静态成员,不能创建实例对象

  静态类不能创建对象,不能实例化

 

使用:

1.如果想要你的类当作一个“工具类”去使用,这个时候可以考虑将类写成静态的

2.静态类在整个项目中资源共享(只有在程序全部结束之后,静态类才会释放资源)

静态存储区域

 

C#中的资源回收机制:GC—-Garbage Collection —垃圾回收器

 

构造函数:初始化对象

  名称跟类名一样

  创建对象时调用构造函数

 

new关键字:在内存中开辟一个空间

在开辟的空间中创建对象

调用对象的构造函数进行初始化对象

 

构造函数可以重载

析构函数:当程序结束时调用,用于帮助释放资源

 

命名空间:

用于解决类的重名问题

可以看作是类的文件夹

类是属于命名空间的

 

如果当前项目中没有这个类的命名空间,需要我们手动的导入这个类所在的命名空间

1.用鼠标去点

2.alt+shift+F10

3.记住命名空间,手动去引用

 

在一个项目中引用另一个项目的类

1.在右侧文件处添加引用

2.引用命名空间

 

字符串的不可变性:

在给字符串重新赋值后,原来的值并未被改变,在堆中开辟了一个新的空间,存放新值,改变的是栈中的指向地址

 

string类型可以看作是char类型的一个只读数组

ToCharArray();     //将字符串转换为char数组

New string (char[] chs)。      //将char数组转换为字符串

 

StringBuilder :用于处理大量的字符串数据

 

ToUpper();转换为大写

ToLower();转换为小写

If(lesOne.Equals(lesTwo,StringComparison.OrdinalgnoreCase))

//比较字符串lesOne和lesTwo,忽略大小写

 

split():分割字符串

 

String s=“s    a    -     +      =   stt”;       //定义字符串

char[] chs-{' ','-','+','='};           //定义需要除去的字符,需要char数组定义单个字符

string[] str=s.Split(chs);           //定义str数组接受

                               //Split(chs)将chs中定义的字符分割,变为空,占用位置

string []str=s.Split(chs,StringSplitOptions.RemoveEmptyEntries)

                           //优化分割后的字符串,可以去除空字符

 

str.Contains("aa");   //判断字符串str中是否包含"aa",返回bool值

str.Replace("aa","**");   //将字符串中的"aa"替换为"**"

str.Substring(1);        //从指定索引处开始截取,包含制定索引

str.Substring(1,5);       //可指定结尾位置

str.Endswith("a");        //判断字符串是否以"a"结尾,返回bool值

str.Startswith("b");       //判断字符串是否以"b"开头,返回bool值

str.Indexof('天')        //取出'天'字符在字符串中第一次出现的位置的索引,返回int值

str.Indexof('天',n);       //从索引n处开始查找'天'找不到返回-1

str.LastIndexof('天');      //查询字符串中最后一次出现'天'的位置的索引

str.Trim();              //去掉字符串前后的空格

str.TrimStart();          //去掉字符串前面的空格

str.TrimEnd();          //弃掉字符串后面的空格

String.TsNullorEmpty(str)   //判断字符串是否为空或者Null

String[]names={"张三","李四","王五","赵六"}

String str=String.Join("|",names);

         //用join将制定分隔符插入字符串数组中,生成一个新的字符串

 

File.ReadAllLines(Path)

继承

子类并没有继承父类的构造函数,但是子类会默认的调用父类的无参数的构造函数创建父类对象,让子类可以使用父类中的成员

所以,如果在父类中重新写了一个有参数的构造函数之后,那个无参数的构造函数就被干掉了,子类就调用不到了,所以子类就会报错

解决方法:

1.重新写一个无参数的构造函数

2.使用:base()关键字继承父类的有参数构造函数

 

Public Student(String name,int age,char gender,int id)

:base(name,age,gender)

{}

 

Object类是所有类的父类;

 

new关键字:

1.创建对象

2.隐藏从父类那里继承过来的同名方法(隐藏后就访问不到父类的同名方法了)

里氏转换:

1.子类可以赋值给父类(如果一个地方需要一个父类作为参数,我们可以传一个子类代替)

2.如果父类中装的是子类对象,那么可以将这个父类强制转换为子类对象

(Person p=new Student();)。   --用子类赋值给父类

(Student ss=(Student)p)。     --强制转换

 

 

is:表示类型转换,如果转换成功,则返回一个true,否则返回一个false

if(p is Teacher)。    --判断p是否是Teacher对象

 

as:表示类型转换,如果能转换则返回对应的对象,否则返回null

Teacher t= p as Teacher。      -- 判断是否能转换

 

 

protected访问修饰符:不允许其他非子类访问

 

 

 

 

 

 

.GetType()  -->   拿到变量类型

 

var 推断类型,声明var变量时必须给他赋值

 

Stopwatch 记录程序运行的时间

键值对集合中键必须时唯一的,而值无所谓

 

 

 

 

文件编码:ASC--ASCII--GB2312--Big5--unicode--UTF-8

乱码:

产生乱码的原因,保存这个文件所采用的编码跟打开这个文件所采用的编码不一致

byte[] buffer =Encoding.Default.GetBytes(str);//将str转换为字节数组

 

String[] str=File.ReadAllLines(@"路径",编码格式)//按行读取,返回的是字符串数组

File.ReadAllText//整个文件读取,返回的是一个字符串

按行读取和按文件读取只能读取文本文件

Write方法会覆盖原本的内容

File.AppendAllText// Append写入会追加在后面

 

 

 

 

 

装箱和拆箱:

装箱:将值类型转换为引用类型

拆箱:将引用类型转换为值类型

看两种类型是否发生了装箱或拆箱,要看这两种类型是否存在继承关系

 

 

多态:一个类型多种状态

目标:将变化封闭

实现多态的三种方法:虚方法,抽象类,接口

虚方法:virtual-override

抽象类:abstract

如果父类中的方法有默认的实现,并且父类需要被实例化,这时,可以考虑将父类定义成一个普通类,用虚方法来实现多态

如果父类中的方法没有默认实现,父类也不需要被实例化,则可以将该类定义为抽象类

 

 

 

 

 

 

 

 

 

WebBrowser:浏览器空间    url

 

ComboBos:下拉框控件

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值