字符串
C# 字符串是使用 string 关键字声明的一个字符数组
字符串对象是“不可变的”,即它们一旦创建就无法更改
@ 符号会告知字符串构造函数忽略转义符和分行符
可以用索引访问字符串中的各个字符
若要在一个字符串中搜索另一个字符串,可以使用 IndexOf()
Split() 方法使用分隔符(如空格字符)char 数组,并返回一个子字符串数组
语句
yield在迭代块中用于向枚举数对象提供值或发出迭代结束信号,在动态生成枚举值时可能有用。
throw 语句用于发出在程序执行期间出现反常情况(异常)的信号
try-catch 语句由一个 try 块后跟一个或多个 catch 子句构成,这些子句指定不同的异常处理程序
try-catch -finally 块用于清除 try 块中分配的任何资源,以及运行任何即使在发生异常时也必须执行的代码
fixed 语句禁止垃圾回收器重定位可移动的变量。fixed 语句只能出现在不安全的上下文中。Fixed 还可用于创建固定大小的缓冲区。主要防止指针被修改从而丢失内存数据。
lock 关键字将语句块标记为临界区,方法是获取给定对象的互斥锁,执行语句,然后释放该锁。
operator重载运算符,当重载==时要注意重写Equals与GetHashCode。重写Equals,要保证与==结果一致,重写GetHashCode保证不同值的散列值不同,相同值的散列值一定相同
operator转换运算符具有以下特点:
声明为 implicit 的转换在需要时自动进行。声明为 explicit 的转换需要调用强制转换。所有转换都必须是 static 转换