::(两个冒号)----------------------- 命名空间别名限定符运算符,用于查找标识符。它通常放置在两个标识符之间,命名空间别名限定符可以是 global。这将调用全局命名空间中的查找,而不是在别名命名空间中。
?:(一个问号,一个冒号) --------条件运算符,检查给出的第一个表达式 expression 是否为真。如果为真,则计算 operand1,否则计算 operand2。这是唯一带有三个操作数的运算符 。
&=(一个&,一个等号)------------ 复合赋值运算,表示先且位运算后赋值
??(两个问号)---------------------用于泛型中,在值类型为空时指定默认值
<<=(两个小于号,一个等号)---- 复合赋值运算,表示向左移位后再赋值
(1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。
(2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。
(3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetConstructors或 GetConstructor方法来调用特定的构造函数。
(4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetMethods或 GetMethod方法来调用特定的方法。
(5)使用FiedInfo了解字段的名称、访问修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。
(6)使用EventInfo了解事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等,添加或移除事件处理程序。
(7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。
(8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数,以及参数在方法签名中的位置等。
IS:
检查变量类型是否与指定类型相符,返回True,False.不报错.
老实说,我没怎么用过。看看下面的实例代码,很容易理解:
int
i
=
100
;
if
(i
is
object
)
//
tureorfalse
{
Response.Write("iisobject</br>");
}
static
void
Test(
object
o)
{
Class1a;
Class2b;
if(oisClass1)
{
Console.WriteLine("oisClass1");
a=(Class1)o;
//Dosomethingwith"a."
}
}
AS:
进行类型转换,如果不成功,返回null, 不报错.
object
o
=
"
hi
"
;
string
s2
=
o
as
string
;
if
(s2
!=
null
)
{
Response.Write("ok</br>");
}
应用一:
DataSetds
=
new
DataSet();
//
setvaluestodshere
Session[
"
Data
"
]
=
ds;
DataSetds2
=
Session[
"
Data
"
]
as
DataSet;
if
(ds2
!=
null
)
{
//codehere
}
Buttonbtn
=
form1.FindControl(
"
btn
"
)
as
Buttonl;
//
Note:normally,hereisGridVieworothersDatashowContorls
if
(btn
!=
null
)
{
//codehere
}
DataSetds
=
new
DataSet();
//
setvaluestodshere
Session[
"
Data
"
]
=
ds;
if
(Session[
"
Data
"
]
is
DataSet)
{
Response.Write("ok");
}
比如int 是不能为null的,但是如果这样标识就可以:
int
?
j
=
null
;
Console.WriteLine(j);
单要注意,a,b必须有一个为可空类型:
int
i
=
22
;
int
m
=
23
;
int
?
n
=
12
;
//
Console.WriteLine(i??m);
//
error
Console.WriteLine(j
??
m);
//
output23
Console.WriteLine(n
??
m);
//
output12
Console.WriteLine(
sizeof
(
byte
));
//
output1
Console.WriteLine(
sizeof
(
int
));
//
output4
Console.WriteLine(
sizeof
(
long
));
//
output8
GetType():如果要获得对象在运行时的类型,可以用此方法。
应用:
foreach
(Controlctl
in
ctls.Controls)
{
if(ctl.GetType()==typeof(TextBox))
{
TextBoxc=ctlasTextBox;
c.Text="";
}
}
549

被折叠的 条评论
为什么被折叠?



