C#学习第八天 值类型和引用类型、字符串类String

面向对象:

1.命名空间:

可以认为类是属于命名空间的

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

导入方法:

1)用鼠标点;2)alt+shift+F10 ;  3)记住命名空间,手动去引用:using+命名空间


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

1)添加引用; ---> 引用右键--->添加引用--->选中要引用的项目,确定

2)引用命名空间; 在当前项目中添加using+类的命名空间


2.值类型和引用类型

区别:

1)值类型和引用类型在内存存储的地方不一样

2)在传递值类型和引用类型的时候,传递的方式不一样:值类型我们称之为值传递,引用类型称之为引用传递

我们之前学的类型值类型和引用类型:

值类型:int、double、bool、char、decimal、struct、enum 

引用类型:string、自定义类、数组

内存分为5大块,我们能用有三大块: 堆、栈、静态内存区域

值类型储存在“栈”当中,引用类型储存在“堆”中



3. 字符串:string

1)字符串的不可变性

当你给字符串赋值之后,老值并没有销毁,而是重新开辟一段空间存储新值.

当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即把它销毁

所以在多次重新赋值时,在大量耗费内存的情况下改使用StringBuilder,赋值完成后将结果用ToString()转换成字符串

2)我们可以将字符串看做是char类型的只读数组

char[] chs = s.ToCharArray();  --->将字符串转换为字符数组

s = new String(chs);  ---->将字符数组转换为字符串

3.)字符串的各种方法:string str

str.Length()   ---->获取字符串str中的字符个数

str.ToUpper() / str.ToLower()  --->将字符串转成大写/小写形式

lessonOne.Equals(lessonTwo,StringComparison.OrdinalIgnoreCase)   --->忽略大小写比较两个字符串

string[] str = s.Split(chs,StringSplitOptions.RemoveEmptyEntries)   --->分割字符串,返回字符串数组,chs为要删除的字符数组

替换关键字:(Contains、Replace方法)

string str = "大人物老赵";
		if(str.Contains("老赵"))
		{
			str = str.Replace("老赵","**");
		}
		Console.WriteLine(str);
Substring 截取字符串
Indexof 搜索字符串,返回第一次出现的索引。对应lastindexof,搜索字符串,返回最后一次出现的索引,经常与截取字符串配合使用

Trim()  移除所有的空字符,返回string  。TrimStart()/TrimEnd()去掉前面/后面的空字符

IsNullOrEmpty 判断字符串是否为空或空,返回bool

Join()在字符串数组的中间 插入字符字符或字符串

StartsWith() 判断以...开始   EndsWith 结束







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值