Char.IsDigit与Char.IsNumber的区别[转]

本文详细介绍了在.NET中使用Char.IsDigit、Char.IsNumber和简单条件语句判断字符是否为数字的方法,并通过查看实现代码深入理解其工作原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 转载地址:http://www.cnblogs.com/junbird-nest/archive/2012/05/29/2523664.html

需要判断Char是否为数字,查看了下MSDN,发现有三种方法:

Char.IsDigit (aChar)              指示指定字符串中位于指定位置处的字符是否属于十进制数字类别

Char.IsNumber(aChar)        指示指定字符串中位于指定位置的字符是否属于数字类别

aChar>='0'&&aChar<='9'     判断aChar是否位于‘0’到‘9’之前  等同于第一种

 

用.NET Reflector 查看其实现代码:

  1. {  
  2.     if (!IsLatin1(c))  
  3.     {  
  4.         return CheckNumber(CharUnicodeInfo.GetUnicodeCategory(c));  
  5.     }  
  6.     if (!IsAscii(c))  
  7.     {  
  8.         return CheckNumber(GetLatin1UnicodeCategory(c));  
  9.     }  
  10.     return ((c >= '0') && (c <= '9'));  
  11. }   

  1. {  
  2.     if (!IsLatin1(c))  
  3.     {  
  4.         return (CharUnicodeInfo.GetUnicodeCategory(c) == UnicodeCategory.DecimalDigitNumber);  
  5.     }  
  6.     return ((c >= '0') && (c <= '9'));  
  7. }  

 

Char.IsNumber 多了一步检查ASCII码。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值