8字符类型 char ,存储用 '' (单引号)括起来的一个字符
字符串类型 string ,存储用“”(双引号)括起来的一串字符
整数类型 int ,存储整数
双精度浮点型 double ,存储小数

逻辑运算符 bool
&& 运算符,两边同真才算真,一边为假就算假; || 运算符,一边为真即为真,两边同假才是假。 !() 逻辑非,即“真变假”或“假变真”。

加赋值“+=”:先加后赋值。
减赋值“-=”:先减后赋值。
乘赋值“*=”:先乘后赋值。
除赋值“/=”:先除后赋值。
取余赋值“%=”:先取余后赋值。
与其他运算符从左向右计算不同,赋值运算符从右向左计算。

运算符优先级
①括号。学数学的时候我们就知道,要先计算括号里面的内容。C#语言也是一样,如果有多层括号,要从里向外计算。括号优先级最高。
②一元运算符。有些运算符两边有2个操作数,比如2+3、6%5等等,这些叫做二元运算符。只有一个操作数的叫做一元运算符,它们的优先级高于二元运算符。一元运算符包括:++(自加) 、 --(自减) 、 !(逻辑非)。
③*(乘)、/(除)、%(取余)。

switch(常量)
{
case 常量1:分支1;break;
case 常量2:分支2;break;
...
default:分支n;break;
}

C#中, do...while 循环也是一种常用的循环结构。
do...while 循环第一次执行循环体是没有经过条件判断的,也就是说会无条件的执行一次循环体,此后的逻辑 顺序就与while循环相同了——先判断条件,条件为true再执行循环体一次。

C#循环结构之continue
循环中可以应用 continue 关键字中止一次循环,直接进入下一次。
所以,可以使用 continue 关键字,在循环中剔除一些特殊的数据。

foreach 循环则可以不依赖索引而读取每一个数组元素
foreach(数据类型 迭代变量名 in 数组名)
{
使用迭代变量
}
数据类型:数据类型必须与数组类型相同 一次性遍历数组

数组
二维数组 int[,] arr = new int[2,3];

int row = array.Rank;//获取维数,这里指行数
int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了。(0是第一维,1表示的是第二维)

冒泡排序法:需要N多轮和N多次的比较和交换数据

生成随机数 Rondom 定义名称 = new Random(); 定义名称.Next(100,1000);

try catch / try catch finally(后续) 输出错误,必须啊是一个整体,不要把变量定义在里面 ,try catch finally是一个整体,就是跳转还是会完整运行
Exception通用类
GetType().TosString() 获取类型

goto End; End: 强行跳转 字符长度 .Trim().Length .ToString().PadRight(3,' ') 向右距离3

Throw使用 throw new 错误类(""); 可以在其他地方调用这个错误提示

调试 F5启动调试 F11:单步调试(逐语句)F10:单过程调试 断点调试

对数组进行排序 Array.Sort(数组名) 对数组进行反转 Reverse
数组中最大值 数组名.Max() 最小值 Min 求和Sum Contains包含(if)
int[] newArray = new int[array.Length];
array.CopyTo(newArray,0); //数组复制

内存中存储C#数据:堆,栈静态存储区域

交错数组 int[][] array = new int[5][] 第一行多少个元素array[0].Length

ArrayList (集合)
往ArrayList里插入一个数组 objArrayList.AssRange(数组名); 获取数量 objArrayList.Count
Remove()删除某一个 RemoveAt() 删除哪一行 list.Sort(); 正排序 list.Reverse(); 反排序
ArrayList list = new ArrayList();
string[] arraylist = list.ToString().Split('-');
Console.WriteLine("名" + name + "号" + msn);

List基本介绍
List<int> list01 = new list<int>(); list类型声明
list.Capacity 查看可实际包含元素数 list.Count 查看实际包含元素数
Insert(1,88) 在索引为1的位置添加元素 insertRange(8,List02) 在索引为1的位置插入list02
对list排序
OrderByDescending(s => s.ID) OrderBy(s => s.ID)

https://blog.csdn.net/lansetiankong12/article/details/72835676

表格空间: DataGridView --》

Trin()去空格 ToUpper()转大写

数据类型:
1.值类型:整形,布尔类型,浮点类型,字符型,枚举,结构体
2.引用类型:string,数组,ArrayList,List,类,接口

单选 三元表达式 Enabled= ture ? ture:flase

清空数据
= string.Empty;

String类型不可变性
string 转换成 Char[]
  string ss = "abcdefg";
  char[] cc = ss.ToCharArray();

Char[] 转换成string
  string s = new string(cc);

汉字 item>=0X4E00 && item <=0X9FA5

端口号8391

替换Replace(" ","")

//任何值都可以抓换成字符串.toString();
double num01 = 3.141592654; string str01 = num01.toString();

//字符串转换其他的三种方式
if(double.TryParse(str02,outnum02))
{ 成功} else{失败}
num02 = Convert.ToDouble(str02);
num02 = double.Parse(str02);

//定义值为空 empty
string.Empty 占用空间无内容
//判断字符串为空还是null
if(str01=="") / if(str01 == string.empty)
if(string.idnullorenpty(str01))

//判断两个字符是否一样
str01 == str 02 / str01.Equals(str02)
str01.CompareTo(str02) == 0 / string.compare(str01,str02) ==0 返回为一个数
//忽略大小写 str01.Equals(str02,StringCompaeison.OrdinalIgnoreCase)
//== 和 Equals
共同点
对于值类型,比较对象的值是否相等,对于引用类型比较是否同一对象,对引用类型的String例外,也是比较两个string的值是否相等
区别
==对值类型进行转换,比较值 Equals不会转换先比较类型再比较值

//查找字符串 IndexOf
在数组中查询 indexofany

//拼接多个数组
string[] AllArray = officArray.Union(videoArray).Union(imagesArray).ToArray();

//取出其中字符
substring(10,4) 低10位开始,后四位
//取出字符的位置
Array.indeof{'.'}

//判断包含
StartWith:是否以某一个字符串开口,结果布尔
EndsWite:是否以某一字符串结尾
Contants:是否包含某以字符串

Contans //返回布尔类型 indexod //返回索引

delete from Menu where ID = '10'; //数据库删除

Math.Round:四舍六入五取偶 Math.Ceiling:只要有小数都加1 Math.Floor:总是舍去小数