DotNet中IS和AS的典型用法

14. 十一月 2009

(1)is:

①检查类型的兼容性,并返回结果,True或者false;

②不会跑出任何的异常;

③如果对象为null,则返回false;


 class ISSample
    {
        
static void Main(string[] args)
        {
            
object o = new object();
            
//is判断o是否ISSample类型,如果是结果则为True;如果不是或为空结果则为False,不会抛出任何异常
            if (o is ISSample)
            {
                ISSample a 
= (ISSample)o;
            }

        }
    }

(2)as:

①检查对象的兼容性,并返回结果,如果不兼容则返回null;‘

②不会抛出任何异常

③如果结果判断为空,则强制类型转换会抛出NullReferenceException异常

④as必须和引用类型一起使用

 


   class ASSample
    {
        
static void Main(string[] args)
        {
            
object o = new object();
            
//如果类型兼容,则返回结果,如果不兼容则返回null,不会抛出异常,如果结果为null,则执行强制类型转换会抛出NullReferenceException异常
            ASSample a = o as ASSample;
            
if (a != null)
            {
                
//对a的操作
            }

        }
    }

 

ASP.NET, C#

添加评论




biuquote
  • 评论
  • 在线预览
微笑得意调皮害羞酷大笑惊讶发呆喜欢可怜尴尬闭嘴噘嘴皱眉伤心抓狂呕吐坏笑漫骂发怒
Loading