C#中关于as关键字的使用

我们在实际编码中有时会用到as关键字来将对象转换为指定类型,与is类型不同的是,is关键字是用于检查对象是否与给定类型兼容,如果兼容就返回true,如果不兼容就返回false。而as关键字会直接进行类型转换,如果转换成功会返回转换后的对象,如果转换不成功则不会抛出异常而是返回null。

  下面我们创建一个简单的用例来阐述as的用法:

  1. 以visual studio2015为开发环境,新建一个window Form窗体应用程序,并将其命名为TransForm.
  2. 向窗体中添加一个button控件,用于类型转换,再添加一个GroupBox控件,向此控件中添加三个RadioButton控件,分别用于选择哪种类型。
  3. 详细代码如下:
 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 }