1 运算符
-(负号)、+(正号):可以省略
优先级,*(乘)、/(除)、%(取余)、+(加)、-(减)、=(赋值)
二元赋值运算符,=、+=、-=、/=、*=、%=
条件? 结果1:结果2;
“条件”,为true时返回“结果1”,为flase返回“结果2”。
<、>、<=、>=、==、!=
||(OR运算符),任何一个值为true时返回true否则返回false。
&&(AND运算符),两个值均为true时返回true否则返回false。
^(XOR运算符),只有其中一个值为true的时候才会返回true否则返回false。
>>(右位移)、<<(左位移)。
位移赋值运算符:>>=、<<=。
&(AND)、|(OR)、^(XOR):在二进制下从最左开始逐位运算,直到最右,1视为true,0视为false。
按位赋值运算符:&=、|=、^=。
~(取反),在二进制下反转每一位,1变0,0变1。
()圆括号,递增和递减运算符++、--,常量表达式const
2 流控制
2.1 if语句
if (2 > 1) { Console.WriteLine("2"); } else { Console.WriteLine("1"); }控制台输出:
2
2.2 while语句
int i = 0; while (i < 10) { Console.WriteLine(i); i++; }控制台输出:
0
1
2
3
4
5
6
7
8
9
2.3 do while语句
int i = 10; do { Console.WriteLine(i); i--; } while (i > 0);控制台输出:
10
9
8
7
6
5
4
3
2
1
2.4 for语句
for (int j = 0; j < 10; j++) { Console.WriteLine(j); }控制台输出:
0
1
2
3
4
5
6
7
8
9
2.5 forearch语句
string[] arr = { "a", "b", "c" }; foreach(string a in arr) { Console.WriteLine(a); }控制台输出:
a
b
c
2.6 continue语句
foreach (string a in arr) { if (a == "b") continue; Console.WriteLine(a); }控制台输出:
a
c
2.7 break语句
foreach (string a in arr) { if (a == "b") break; Console.WriteLine(a); }
控制台输出:
a
2.8 switch语句
int i = 0; switch (i) { case -1: Console.WriteLine("d"); break; case 0: Console.WriteLine("e"); break; case 1: Console.WriteLine("f"); break; default: Console.WriteLine("g"); break; }控制台输出:
e
int i = 2; switch (i) { case -1: Console.WriteLine("d"); break; case 0: Console.WriteLine("e"); break; case 1: Console.WriteLine("f"); break; default: Console.WriteLine("g"); break; }控制台输出:
g
2.9 goto语句
int i = 0; switch (i) { case -1: Console.WriteLine("d"); goto default; case 0: Console.WriteLine("e"); goto default; case 1: Console.WriteLine("f"); break; default: Console.WriteLine("g"); break; }控制台输出:
e
g