|
14.new 操作符
new操作符用于创建一个新的类型实例,有三种形式:
A:对象创建表达式,用于创建一个类类型或值类型的实例。
B:数组创建表达式,用于创建一个数组类型实例。
C:委托创建表达式,用于创建一个新的委托类型实例。
15.typeof操作符
typeof操作符用于获得系统原型对象的类型。
using
System;
class
MikeCat
{
public
static
void
Main()
{
Console.WriteLine(
typeof
(
int
));
Console.WriteLine(
typeof
(System.Int32));
}
}
//
结果:System.Int32 System.Int32
//
表明int和System.Int32是同一个类型
c#中用GetType()方法获得一个表达式在运行时的类型
using
System;
class
MikeCat
{
public
static
void
Main()
{
int
r
=
3
;
Console.WriteLine(
"
圆的面积等于{0}
"
,r
*
r
*
Math.PI);
Console.WriteLine(
"
类型是{0}
"
,(r
*
r
*
Math.PI).GetType());
}
}
//
圆的面积等于28.2743338823081
//
类型是System.Double |
16.sizeof操作符
sizeof操作符获得一个值类型的字节大小
using
System;
class
MikeCat
{
unsafe
public
static
void
SizesOf()
{
Console.WriteLine(
"
short的大小是{0}
"
,
sizeof
(
short
));
Console.WriteLine(
"
int的大小是{0}
"
,
sizeof
(
int
));
Console.WriteLine(
"
long的大小是{0}
"
,
sizeof
(
long
));
}
public
static
void
Main()
{
SizesOf();
}
}
//
short 的大小是2;int的大小是4;long的大小是8;
|
17.checked和unchecked操作符
在进行整型算术运算或从一种整型显示转换到另外一种整型时,有可能产生溢出。检查这种溢出c#中有两种处理方式:
第一:在编译时设置溢出校验选项(溢出校验默认是禁用的):
csc /checked test.cs //这个我们在前面有所介绍
第二:使用checked和unchecked操作符来确定是否进行溢出校验。即使编译时禁用溢出校验,计算时也同样引发异常。
using
System;
class
MikeCat
{
public
static
void
Main(
string
[] args)
{
long
factorial
=
1
;
long
num
=
Int64.Parse(args[
0
]);
for
(
long
cur
=
1
;cur
<=
num;cur
++
)
{
checked
{factorial
*=
cur;}
}
Console.WriteLine(
"
{0}的阶乘是{1}
"
,num,factorial);
}
}
//
test.exe 3 3的阶乘是6 |
|