C#语言概述
1.型别
型别宣告可以指定新型别的名称和成员。有五种 C# 的型别分类可由使用者定义:类别型别、结构型别、接口型别、列举型别和委派型别。
分类 | 说明 | |
实值 | 简单型别 | 带正负号的整数:sbyte、short、int、long |
不带正负号的整数:byte、ushort、uint、ulong | ||
Unicode 字符:char | ||
IEEE 浮点数:float、double | ||
高精度十进制数:decimal | ||
布尔值:bool | ||
列举型别 | 型式为 enum E {...} 的使用者定义型别 | |
结构型别 | 型式为 struct S {...} 的使用者定义型别 | |
参考 | 类别型别 | 所有其它型别的最终基底型别:object |
Unicode 字符串:string | ||
型式为 class C {...} 的使用者定义型别 | ||
界面型别 | 型式为 interface I {...} 的使用者定义型别 | |
数组型别 | 一维及多维,例如 int[] 和 int[,] | |
委派型别 | 型式为 delegate T D(...) 的使用者定义型别 |
2.运算子
依优先级 (由高到低) 列出运算子分类:同一分类中的运算子具有相同的优先级。
分类 | 表达式 | 说明 |
主要 | x.m | 成员存取 |
x(...) | 方法和委派引动过程 | |
x[...] | 数组和索引子存取 | |
x++ | 后置递增 | |
x-- | 后置递减 | |
new T(...) | 对象和委派建立 | |
new T[...] | 数组建立 | |
typeof(T) | 取得 T 的 System.Type 物件 | |
checked(x) | 在 checked 内容中评估表达式 | |
unchecked(x) | 在 unchecked 内容中评估表达式 | |
一元 | +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 | 不等于 | |
逻辑 AND | x & y | 整数字元 AND、布尔逻辑 AND |
逻辑 XOR | x ^ y | 整数字元 XOR、布尔逻辑 XOR |
逻辑 OR | x | y | 整数字元 OR、布尔逻辑 OR |
条件式 AND | x && y | 只有在 x 为 true 时才评估 y |
条件式 OR | x || y | 只有在 x 为 false 时才评估 y |
条件式 | x ? y : z | 如果 x 为 true 就评估 y,如果 x 为 false 则评估 z |
设定 | x = y | 设定 |
x op= y | 复合设定;支持的运算子为: *= /= %= += -= <<= >>= &= ^= |= |
3. 陈述式
下表列出 C# 的陈述式,以及每个陈述式的范例
陈述式 | 范例 |
区域变量宣告 | static void
Main
() { |
区域常数宣告 | static void
Main
() { |
运算陈述式 | static void
Main
() { |
if 陈述式 | static void
Main
(string[] args) { |
switch 陈述式 | static void
Main
(string[] args) { |
while 陈述式 | static void
Main
(string[] args) { |
do 陈述式 | static void
Main
() { |
for 陈述式 | static void
Main
(string[] args) { |
foreach 陈述式 | static void
Main
(string[] args) { |
break 陈述式 | static void
Main
() { |
continue 陈述式 | static void
Main
(string[] args) { |
goto 陈述式 | static void
Main
(string[] args) { |
return 陈述式 | static int Add(int a, int b) { static void
Main
() { |
throw 和 try 陈述式 | static double Divide(double x, double y) { static void
Main
(string[] args) { |
checked 和 unchecked 陈述式 | static void
Main
() { |
lock 陈述式 | class Account public void Withdraw(decimal amount) { |
using 陈述式 | static void
Main
() { |