我们在实际编码中有时会用到as关键字来将对象转换为指定类型,与is类型不同的是,is关键字是用于检查对象是否与给定类型兼容,如果兼容就返回true,如果不兼容就返回false。而as关键字会直接进行类型转换,如果转换成功会返回转换后的对象,如果转换不成功则不会抛出异常而是返回null。
下面我们创建一个简单的用例来阐述as的用法:
- 以visual studio2015为开发环境,新建一个window Form窗体应用程序,并将其命名为TransForm.
- 向窗体中添加一个button控件,用于类型转换,再添加一个GroupBox控件,向此控件中添加三个RadioButton控件,分别用于选择哪种类型。
- 详细代码如下:
1 private void btn_Get_Checked(object sender,EventArgs e) 2 { 3 if(rbtn_object.checked) 4 { 5 using (FileStream P_filestream=new FileStream(@'d:log.txt',System.IO.FileMode.Create)) 6 { 7 object p_Object = P_filestream as object; 8 if(p_Object!=null) 9 { 10 Message.Box("转换Obejct成功","提示"); 11 } 12 else 13 { 14 Message.Box("转换Obejct失败","提示!") 15 } 16 } 17 if(rbtn_stream.checked) 18 { 19 using (FileStream P_filestream=new FileStream(@'d:log.txt',System.IO.FileMode.Create)) 20 { 21 obejct p_object=P_filestream; 22 Stream P_Stream = p_objec as Stream; 23 if(P_Stream!=null) 24 { 25 Message.Box("转换Stream成功","提示"); 26 } 27 else 28 { 29 Message.Box("转换Stream失败","提示!") 30 } 31 } 32 } 33 }