foreach适用于只是进行集合或数组遍历,for则在较复杂的循环中效率更高。
c# 基于开发 .net
c/s 客户端 /服务器
b/s 浏览器/服务器
解决方案资源管理器 在视图里
解决方案 → 项目 → 类
引用命名空间:
类
main函数 主入口
.sln 直接打开 解决方案文件
main中代码 打印 hello world
Console.WriteLine(“hello world”);
Console.ReadKey(); // 暂停程序 等待用户按下任意键运行
注释ctrl+K+c
取消注释ctrl +K+U
对齐快捷键 ctrl +k 弹起后 +D
开始折叠#region 折叠代码内容
#endregion折叠结束
整数类型 int
小数类型 double
字符串 string
char 字符
decimal 表示金钱的数据类型
占位符 先挖个坑 再填个坑 Console.WriteLine(‘第一个数字’+n1+’第二个数字’+n2 +’第三个数字’+n3); ====> Console.WriteLine(‘第一个数字{0}第二个数字{ 1}第三个数字{2}’ ,n1,n2,n3);
按照挖坑的顺序添加
转义符 \n 换行 \’’ 表示 “ \t 表示 tab的空格 \ 表示 \ \b 退格键 ( 在字符串的开始和末尾无用
wondos中在桌面上创建 只认识 \r\n 表示\n 苹果识别\n )
@ D:\百度云\BaiduNetdisk\baidunetdisk.exe 1. 取消 字符串中的 \ 转义作用 2. 保留原格式
= 两边参与数据类型一样 不一样 会进行隐式类型转换 小的类型转换成大的类如int 转为double
显示类型转换 两种类型兼容 大的类型转换成小类型
double d=33.33
int n= (int)d
类型变量不兼容 类如 int 与string
string s =’124’
int t = Convert.Toint32(s)
Convert.Toint32的原理调用 int.parse方法 int.parse转换数据类型
- 运算符 + _ * % / ++number —number number++ number—
- 关系运算符 = == != < >
- bool类型 true false
逻辑运算符 &&与 ||或 !非
逻辑&& 的优先级高于逻辑|| &与| 单独的与&&和|| 之间的区别是&|会计算后面的结果<br /> 如果前面结果不对 &&和|| 会直接跳过不计算 返回false
符合运算符 += -= = \= %= number=5 ===> number= number*5
- 分支结构 if
选择结构 if else-if switch-case
switch (变量或者表达式)<br />{<br /> case 值:要执行的代码;<br /> break;<br /> case 值:要执行的代码;<br /> break;<br /> case 值:要执行的代码;<br /> break;<br /> case 值:要执行的代码;<br /> break;<br /> default:要执行的代码;<br /> break;<br />}
循环 while 先判断再循环有可能不循环 do-while先循环再判断 for 已知循环次数的循环 foreach
do{<br />}while();<br />continue 结束当前的一次循环 break结束循环
三元表达式
表达式1?表达式2:表达式3;
关键字 break 在switch 中结束 在while 中跳出当前循环
产生随机数
Random r = new Random();
int rnumber = r.Next(1, 11);
1)常量 const
2)枚举
public 访问修饰符 公开的公共的
[public] enum Gender
{
男,
女
}
Gender gender = Gender.男
3)结构 一次性存储多个不同类型
[public] struct 结构名
{
}
4)数组 一次性存储多个相同类型的变量 Array.Sort(arr) 只能做一个升序的排列 Array.Reverse(arr)只能做数组反转;
声明数组 int [] nums = new int[10] ;
5) 方法
没有返回值
public static int function1(int n1 ,int n2){
return n1>n2?n1:n2
}
如果写的没有返回值 void
调用方法 用类名.方法
return 立即结束本次方法 / 返回一个值
6) 高级参数
out 参数
侧重于在方法中返回多个不同类型的参数
length 数组的长度
ref 能够将一个变量带入一个方法中进行改变,改变后的值带出方法。 在方法外参数必须赋值 方法内可以不赋值
处理异常
params 可变参数
将实参列表中跟可变参数数组中类型一致的元素都当做数组的元素去处理
7)方法重载
方法的名称相同但参数不同
方法的重载跟返回值没有关系 跟参数的数据类型和参数个数有关系;
8) 方法的递归
方法调用自己
try{
}catch{
}
9)
面向过程 :面向的是完成这件事的过程,强调的是完成这件事的动作。
面向对象 : 对象一定是看得见摸得着的