is,as,sizeof,typeof,GetType
2008-09-19 13:18
288 查看
is,as,sizeof,typeof,GetType
这几个符号说来也多多少少的用过,今天就根据ProC#的讲述来总结一下:IS:
检查变量类型是否与指定类型相符,返回True ,False.不报错.
老实说,我没怎么用过。看看下面的实例代码,很容易理解:
int i = 100;
if (i is object) //ture or false
static void Test(object o)
object o = "hi";
string s2 = o as string;
if (s2 != null)
DataSet ds = new DataSet();
//set values to ds here
Session["Data"] = ds;
DataSet ds2 = Session["Data"] as DataSet;
if (ds2 != null)
Button btn = form1.FindControl("btn") as Buttonl;
//Note: normally,here is GridView or others Data show Contorls
if (btn != null)
DataSet ds = new DataSet();
//set values to ds here
Session["Data"] = ds;
if (Session["Data"] is DataSet)
int? j = null;
Console.WriteLine(j); ??: 结合可空类型使用的符号, Format: a ?? b; 如果a 为null,则返回b的值,不然返回a的值.
单要注意,a,b必须有一个为可空类型:
int i = 22;
int m = 23;
int? n = 12;
// Console.WriteLine(i ?? m); //error
Console.WriteLine(j ?? m); //output 23
Console.WriteLine(n ?? m); //output 12 Sizeof: 用于返回值类型在内存中占的大小,注意,只能是值类型,不能为引用类型:
Console.WriteLine(sizeof(byte)); //output 1
Console.WriteLine(sizeof(int)); //output 4
Console.WriteLine(sizeof(long)); //output 8 typeof : 获得类型的System.Type 表示。
GetType():如果要获得对象在运行时的类型,可以用此方法。
应用:
foreach (Control ctl in ctls.Controls)
if (ctl.GetType() == typeof(TextBox))
TextBox c = ctl as TextBox;
c.Text = "";
}
} typeof 在反射的时候,也有很大用途,随后学习到反射的时候再Demo.
相关文章推荐
- is,as,sizeof,typeof,GetType
- is,as,sizeof,typeof,GetType
- 重读C#高级编程之几个运算符在实际中的应用:is,as,sizeof,typeof,GetType,??
- 【转】重读C#高级编程之几个运算符在实际中的应用:is,as,sizeof,typeof,GetType,??
- checked、is、as、sizeof、typeof运算符、空合并运算符
- typeof,gettype,is,as
- GetType与C#关键字typeof ,is,as
- C# 運算符 as,is,sizeof ,typeof
- AS3中 is,as,typeof的区别
- as、is、GetType()
- 数据类型检查(is、as、typeof、in、instanceof)
- t.gettype().assembly.where(t=>t.basetype==typeof(basetype) isassignablefrom(iinterface)
- (转)AS3中 is,as,typeof的区别 .
- 数据类型检查(is、as、typeof、in、instanceof)
- typeof,as,is的用法
- 数据类型检查(is、as、typeof、in、instanceof)
- Prefer the is or as Operators to Casts - Effective C#学习笔记(3)
- [MySQL]快速解决"is marked as crashed and should be repaired"故障
- AS3.0中的is,as运算符
- C#中As 及Is 的用法