C#基础学习内容
*命名空间: 相当于一个代码容器,可以唯一标识代码及内容。可用namespace定义命名空间。
如果一个名称空间的代码需要使用另一个名称空间定义的名称,就必须对该命名空间进行引用。
运算符优先级:括号 ++,-- *,/ +,- +=,-=,*=,/=
逻辑运算符: &&与 || 或 != 非 ^异或(相同为false 不同为true)
分支语句
三元判断语句 <条件>?<为真字符串>:<为假字符串>
if语句 if(条件){为真执行代码} if(){} else if(){} else{}
switch语句 switch(常量)
{
case 常量:
break;
default:
break;
}
循环语句
do{代码}while(条件); 先执行do中的代码再判断while条件是否继续执行;
while(条件){代码} 先进行条件判断为true时执行代码,直到条件为false时退出循环;
for(int i=0;条件;++i){代码} 可定义循环执行次数,满足条件时先执行 {代码} 在++i;
foreach(类型 name in 数组array) 遍历array中的元素,并将元素值赋给 name
循环中断
return 退出当前循环和包含的函数
continue 退出本次循环,继续下一次循环
goto 跳到指定代码段
beak 退出循环
变量定义
声明方式与初始化 <类型> <名>=<对应类型初始值>
数组
一维数组 <类型>[] <数组名>=new <类型>[] {,}
二维数组 <类型>[,] <数组名>=new <类型>[,] {{,},{,}}
**(复杂) 数组的数组 <类型>[][] <数组名>=new <类型>[][]
{<类型>[] {} ,<类型>[] {} }
除C#提供的基本string int等类型外我们可以通过枚举和结构自定义类型
枚举
publc enum <名 Num>:<类型>
{ a,b,c}
结构
public struct <名>
{ public int A;public enum Num; }也可定义枚举类型;
变量类型转换
隐式转化 程序编译时会自动进行,但因为变量类型不同存储空间大小不同,在转换过程中可能出现错误。如short类型可存储(0~32767)转为byte就会出问题,在显示转换中也需要注意这点
显示转换
强制转换 (类型)变量 (int)A;
Convert.To**(变量) Convert.ToInt32(A);
(类型).Prase(变量) int.Prase(A);
.ToString
为了防止变量中转换出现溢出可以通过在代码前添加Checed((int)A);
或在编译生成中设置 --检查运算溢出。
字符串处理
.ToLower() 转换成小写
.Upper() 转换成大写
.Trim() 去掉空格
.Trim(" ","a","b") 去掉空格、a、b
.TrimStart() 去掉字符串前空格
.TrimEnd() 去掉字符串后空格
.PadLeft(10) 左补空格,使其达到10位长度
.PadRight(10,'-') 右补"-",使其长度达到10位
.ToLower() 转换成小写
.Upper() 转换成大写
.Trim() 去掉空格
.Trim(" ","a","b") 去掉空格、a、b
.TrimStart() 去掉字符串前空格
.TrimEnd() 去掉字符串后空格
.PadLeft(10) 左补空格,使其达到10位长度
.PadRight(10,'-') 右补"-",使其长度达到10位
函数(方法)
无返回值函数 public void A() {代码} 调用该函数只执行函数代码不会返回值;
有返回值函数(不带参数) public <类型> A() {代码 return <同类型> ; } 调用该函数会返回定义类型值;
有返回值函数(带参数) public <类型>A(<类型> 名) {代码 return <同类型>
;} 调用该函数可以带有参数,该参数可以在代码中被使用,并带有返回值。
引用参数、值参数、输出参数
值参数:函数内部执行代码不影响输入参数值;A(<类型> 名)
引用参数:函数内部执行代码影响输入参数,**需在定义类型前初始化;A(ref <类型> 名)
输出参数:函数内部执行代码影响输入参数,不需要在定义类型前初始化;A(out<类型>
名)
* 必须在函数调用中使用 out关键字,ref调用也一样
对以上学习做了部分编程案例