C#学习笔记:C#语法进阶

表达式

  • 表达式由**操作数(operand)运算符(operator)**构成。运算符的示例包括+-\*/new。操作数的示例包括文本、字段、局部变量和表达式。

  • 当表达式包含多个运算符时,运算符的优先级(precedence)控制各运算符的计算顺序。例如,表达式x + y * zx + (y * z)计算,因为*运算符的优先级高于+运算符。

  • (了解)大多数运算符都可以重载(overload)。运算符重载允许指定用户定义的运算符实现来执行运算,这 些运算的操作数中至少有一个,甚至所有操作数都属于用户定义的类类型或结构类型。

  • 下表总结了C#简单常用的运算符,并按优先级从高到低的顺序列出各运算符类别。同类别中的运算符 优先级相同。

类别 表达式 说明
基本 x.m 成员访问
x(...) 方法和委托调用
x[...] 数组和索引器访问
newT(...) 对象和委托创建
newT(...){...} 使用初始值设定项创建对象
new{...} 匿名对象初始值设定项
newT[...] 数组创建
一元 +x 恒等
-x 求相反数
!x 逻辑求反
~x 按位求反
++x 前增量
--x 前减量
x++ 后增量
x-- 后减量
(T)x 将x显示转换为类型T
二元 x * y 乘法
x / y 除法
x % y 取余
x + y 加法,字符串串联
x - y 减法
x << y 位左移
x >> y 位右移
x < y 小于
x > y 大于
x <= y 小于或等于
x >= y 大于或等于
x is T 如果 x 位 T ,返回true,否则false
x as T 返回转换为类型 T 的 x ,如果 x 不是 T 则返回null
x == y 等于
x != y 不等于
x & y 整形按位与 ,布尔逻辑AND
`x y`
x && y 且,当 x 为true时,才对 y 求值
`x
x ?? y 如果 x 为null,则计算结果为 y,否则为 x
三元 x ? y : z 如果 x 为true,对 y 求值,x 为false,对 z 求值
赋值或匿名函数 x = y 赋值
x = x + y 复合赋值
(T x) => y 匿名函数(lambda表达式)

定义变量声明只要一次就可以了 ,不能起相同的变量名称

变量作用域

C#学习笔记:C#语法进阶_第1张图片会显示第一次是2.1,第二次是3.1

C#学习笔记:C#语法进阶_第2张图片 在更少的范围内写,大范围的变量系统不在认同 。

自增,自减

++x;x++区别

            int x = 1;
            /*MessageBox.Show((++x).ToString());//在这句话之前x已经加1了,结果为2
            MessageBox.Show(x.ToString());*/
            MessageBox.Show((x++).ToString());//这句话结束之后,自增1
            MessageBox.Show(x.ToString());//x=2

四则运算-取余

10%6=4

字符串相加为拼接

            String s1 = "hello ", s2 = "ddd",res;
            res =s1 + s2;
            MessageBox.Show(res);

判断相加

在C#中对为真true,错为假false;类型为bool型。

字符串也能比较

            b = "Hello" == "world";
            MessageBox.Show(b.ToString());

结果为false

||或&&且

x??y如果 x 为null,则计算结果为 y,否则为 x

三元表达式。x?y:z 如果x为真,取y值;如果x为假,取z值

            String x = "a", y = "b", z = "c", m;
            m=x=="ab"?y:z;
            MessageBox.Show(m);

结果为c

取反!

分支语句

if 语句

if-else 语句

switch 语句

循环语句

for循环

for(int i = 0; i<10;i++ ){     }           

while循环

while(true){  }

do-while循环

do{  }while(true)

数组

  • 数组是一组相同类型的数据。

  • 数组中的数据需要通过数字索引来访问。

数组的声明

  • 数组的声明需要使用new关键字。

  • 在声明数组时,可以使用{}来初始化数组中的元素。

  • 如果在数组声明之初没有使用大括号来初始化数组中的元素,则需要指定数组的大小。

  • 在声明初始化有元素的数组时,也可以指定数组大小。

//声明没有元素的数组     
int[] ints = new int[6]     
//声明初始化有元素的数组     
int[] ints = new int[]{1, 3, 4, 5}     
//在声明初始化有元素的数组时,也可以指定数组大小     
string[] strings = new int[5]{"H", “E", "L",“L","0"}

通过索引获取数组中的元素。

  • 给数组指定长度时,数组准备存放多少元素,长度就设置为多少。
  • 用索引获取数组内的元素时,索弓|从0开始获取。
  • 所以数组中最大的索引数字,比指定数组长度小1。
//声明初始化有元素的数组  
int[] ints = new int[]{1, 3,4,5}  
//获取数组中第1个的元素。
int i1 = ints[0];  
//给数组内的元素赋值
ints[0]  = 1  

if和select的区别。if是你自己找房间进入,而select是你拿着门牌号,服务员带你进入。

C#学习笔记:C#语法进阶_第3张图片

    while (true)
            { 
            }

结果为true执行,false不执行

这是一个死循环,监听时候用到死循环。

你可能感兴趣的:(C#学习笔记,c#,学习,开发语言)