a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

C#中判斷某類型是否可以進行隱式類型轉換

2020-01-24 03:25:32
字體:
來源:轉載
供稿:網友

C#中,有些類型是可以隱式轉換的,我整理了這些可以隱式轉換的類型,供大家參考

復制代碼 代碼如下:

     static private bool CanConvert(Type from, Type to)   
    {          
       if (from.IsPrimitive && to.IsPrimitive) 
          {              
   TypeCode typeCodeFrom = Type.GetTypeCode(from);   
   TypeCode typeCodeTo = Type.GetTypeCode(to);      
   if (typeCodeFrom == typeCodeTo)            
   return true;              
   if (typeCodeFrom == TypeCode.Char)   
   switch (typeCodeTo)         
   {                   
   case TypeCode.UInt16: return true;    
   case TypeCode.UInt32: return true;     
   case TypeCode.Int32: return true;        
   case TypeCode.UInt64: return true;           
   case TypeCode.Int64: return true;               
   case TypeCode.Single: return true;              
   case TypeCode.Double: return true;                  
   default: return false;               
   }              
   // Possible conversions from Byte follow.      
   if (typeCodeFrom == TypeCode.Byte)    
   switch (typeCodeTo)              
   {                      
   case TypeCode.Char: return true;      
   case TypeCode.UInt16: return true;         
   case TypeCode.Int16: return true;                   
   case TypeCode.UInt32: return true;               
   case TypeCode.Int32: return true;                      
   case TypeCode.UInt64: return true;                  
   case TypeCode.Int64: return true;          
   case TypeCode.Single: return true;      
   case TypeCode.Double: return true;   
   default: return false;               
   }               
   // Possible conversions from SByte follow.  
   if (typeCodeFrom == TypeCode.SByte)       
   switch (typeCodeTo)                  
   {                       
   case TypeCode.Int16: return true;    
   case TypeCode.Int32: return true;     
   case TypeCode.Int64: return true;            
   case TypeCode.Single: return true;             
   case TypeCode.Double: return true;                
   default: return false;              
   }             
   // Possible conversions from UInt16 follow.    
   if (typeCodeFrom == TypeCode.UInt16)    
   switch (typeCodeTo)             
   {                    
   case TypeCode.UInt32: return true;
   case TypeCode.Int32: return true;    
   case TypeCode.UInt64: return true;            
   case TypeCode.Int64: return true;                  
   case TypeCode.Single: return true;               
   case TypeCode.Double: return true;              
   default: return false;                 
   }              
   // Possible conversions from Int16 follow.          
   if (typeCodeFrom == TypeCode.Int16)          
   switch (typeCodeTo)                 
   {                     
   case TypeCode.Int32: return true; 
   case TypeCode.Int64: return true;          
   case TypeCode.Single: return true;        
   case TypeCode.Double: return true;            
   default: return false;              
   }              
   // Possible conversions from UInt32 follow.   
   if (typeCodeFrom == TypeCode.UInt32)        
   switch (typeCodeTo)                
   {                     
   case TypeCode.UInt64: return true;        
   case TypeCode.Int64: return true;       
   case TypeCode.Single: return true;     
   case TypeCode.Double: return true;   
   default: return false;            
   }              
   // Possible conversions from Int32 follow.        
   if (typeCodeFrom == TypeCode.Int32)            
   switch (typeCodeTo)                
   {                      
   case TypeCode.Int64: return true;   
   case TypeCode.Single: return true; 
   case TypeCode.Double: return true;      
   default: return false;               
   }          
   // Possible conversions from UInt64 follow.      
   if (typeCodeFrom == TypeCode.UInt64)         
   switch (typeCodeTo)                  
   {                     
   case TypeCode.Single: return true;    
   case TypeCode.Double: return true;       
   default: return false;                 
   }              
   // Possible conversions from Int64 follow.      
   if (typeCodeFrom == TypeCode.Int64)        
   switch (typeCodeTo)               
   {                       
   case TypeCode.Single: return true;         
   case TypeCode.Double: return true;        
   default: return false;            
   }             
   // Possible conversions from Single follow.    
   if (typeCodeFrom == TypeCode.Single)   
   switch (typeCodeTo)                
   {                    
   case TypeCode.Double: return true;    
   default: return false;            
   }        
   }       
   return false;
   }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 日韩在线1 | 国产性色| 国产成人精品一区二区在线 | 在线 丝袜 欧美 日韩 制服 | 午夜精品久久久久久久久 | 亚洲精品亚洲人成人网 | 午夜影院免费体验区 | 免费在线观看一区二区 | 中文字幕第90页 | 亚洲福利 | 国产成人亚洲综合 | 蜜桃免费一区二区三区 | 亚洲欧美在线人成swag | v888av成人 | 久久精品91久久久久久再现 | 欧美视频在线观看一区 | 午夜精品久久久久久99热软件 | 欧美wwwww | 久久久久一区 | 欧美一区永久视频免费观看 | 国产精品无码专区在线观看 | 欧美无遮挡 | 黄色片在线播放 | 一级特黄 | 国产成人精品一区二区仙踪林 | 一区二区三区播放 | 成人不卡视频 | 国产 日韩 欧美 中文 在线播放 | 国产精品久久久久婷婷二区次 | 午夜免费片 | 欧美日韩成人在线视频 | 国产综合久久 | 午夜社区 | 亚洲国产成人精品女人久久久 | 久久黄色片| 美女超碰 | 性一级录像片片视频免费看 | 久久久久久久久久久九 | 日本在线一二 | 国产精品一区二区免费在线观看 | 亚洲tv久久爽久久爽 |