C#总结(2)
逻辑运算符
调试
逐过程 F10
逐语句F11
断点 行前面点击
While与do while区别
For循环
For(表达式1;表达式2;表达式3)
{
循环体
}
Break用于循环中,退出当前循环
常量与变量
常量:永远不变的量
Const关键字
变量:经常会变得量
枚举
语法:public enum Gender
用处:有规范,更加方便了
可以强转为int类型
字符串转枚举类型
Gender g= (Gender)(Enum.Parse(typeof(Gender),”男”));
结构
一次性声明多个变量
Public struct 结构名
数组:数组的存值和取值都是通过下标或者索引
声明
第一种:int[]nums1=news int[10];
存值:nums[1]=5;
第二种:int[] nums2=new int[]{1,2,3,4,5}//这个数组存5个值
第三种:int[] nums3=new int[3]{1,2,3}
第四种:int[] nums4={1,2,3,4,5}
冒泡排序
Array.Sort()
翻转:Array.Reverse()、forr
方法:将一对代码进行重用的一种机制
Static是静态方法
[访问修饰符] static 返回值 方法名 ([参数列表])
{
方法体
}
方法重载:方法名相同,但是参数不同,个数不同,类型也不同,和返回值无关,和参数的类型和 个数有关
out返回值
如果方法的参数用out修饰了,那么这个参数必须在方法里进行赋值,out是将方法中的值传递到外边去
赋值:方法外可以不赋值,但是方法中要赋初值
ref传值
如果方法的参数用out修饰了,那么这个参数必须在方法里进行赋值,ref是将方法里的值传递到外边去,又可以把方法外的值传到方法里
面向对象
对象:看的见、摸得着、具体的、特指的
属性:对象具有的各种特征,每个属性都拥有特定值
读写、只读、只写
方法:对象的行为,动作,执行的操作
类:是模子,确定对象将会用用的特征(属性)和行为(方法)
类和对象的区别
类是抽象的概念
对象是具体实体
对象可以叫做类的实例
类不占内存,对象才占内存
类的定义
定的定义语法
[访问修饰符]class 类名
{
成员
}
实例化:使用关键字new
成员的访问:实例名.竖向 实例名.方法名()
都需要定义访问级别,达到封装的目的
访问修饰符:public private (internal protected)
属性的读、写:get,set
字符串
字符串不可变
字符串可以看成是char的只读数组
把字符串变为字符数组
Char[] chs=text.ToCharArray();
变成新的字符串
String str=new String(chs);
大小写转换:str.ToLower/str.ToUpper
忽略大小写:str1.Equals(str2, StringComparison.OrdinalIgnoreCase)
切割自己不想要的字符:
char[] chs = new char[] {' ','-' };
string[] result = str.Split(chs, StringSplitOptions.RemoveEmptyEntries );
替换字符串:name.Replace(‘’‘’)/(“”“”)
截取字符串:str.Substring(索引值);
判断字符串是否以某个字符串开始:str.StartsWith
字符串索引: Str.IndexOf(“”);
字符串最后一个索引:str.LastIndexOf(“”);
插入字符串:str.Insert(索引值,”字符串”)
语法:
值类型
引用类型:数组、类
as和is:子类转父类
as:也是转换,但是转换不了的,不报异常,返回的是null
is:转换,返回的是bool值
集合
添加数组:构造函数、Add()方法、AddRange()
清空:clear,插入:inert
判断集合中是否含有这个元素:contains()
集合中的个数:count
某元素对应的索引:indexOf
往某一个索引的位置插入一个数组InsertRange
移除索引对应的值:RemoveAt()
从指定索引处开始移除,移除多少个,
超出索引报异常:RemoveRange
反转:Reverse()
排序:Sort()
哈希表:无序的
以键值对的形式存值, key—键 value—值
Foreach遍历哈希表