is操作符被用于动态地检查运行时对象类型是否和给定的类型兼容。
其中e是一个表达式,T是一个类型,返回值是一个布尔值,它表示e是否能通过引用转换装箱转换或拆箱转换成功地转换于T类型。
static void Main()
{
Console.WriteLine(1 is int);
Console.WriteLine(1 is float);
Console.WriteLine(1.0 is float);
Console.WriteLine(1.0 is double);
}
输出为
True
False
False
True
as操作符用于通过引用转换或装箱转换将一个值显式地转换成指定的引用类型。
不像显式类型转换。as不会产生任何异常,如果转换不可以进行那么结果值为null。
例如:string s = ‘a’ as string;
typeof 操作符用于获得系统原型对象的类型。
checked 和unchecked 操作符用于整型算术运算时控制当前环境中的溢出检查。
class TestCheck
{
static int x = 1000000;
static int y = 1000000;
public static int F()
{
return checked(x * y); //抛出异常
}
public static int G()
{
return unchecked(x * y); // 返回值为 -727379968
}
public static int H()
{
return x * y; // 依赖于编译时的默认情况
}
}
foreach语句表示针对集合中的每一个元素执行表达式的操作,例如:
static void Main()
{
int[] arr = { 1, 2, 3, 4, 5 };
//针对数组中的每个元素,打印
foreach(int x in arr)
Console.WriteLine("{0}",x);
}