需要判斷Char是否為數字,查看了下MSDN,發現有三種方法:
Char.IsDigit (aChar) 指示指定字符串中位於指定位置處的字符是否屬於十進制數字類別
Char.IsNumber(aChar) 指示指定字符串中位於指定位置的字符是否屬於數字類別
aChar>='0'&&aChar<='9' 判斷aChar是否位於‘0’到‘9’之前 等同於第一種
用.NET Reflector 查看其實現代碼:
- {
- if (!IsLatin1(c))
- {
- return CheckNumber(CharUnicodeInfo.GetUnicodeCategory(c));
- }
- if (!IsAscii(c))
- {
- return CheckNumber(GetLatin1UnicodeCategory(c));
- }
- return ((c >= '0') && (c <= '9'));
- }
- {
- if (!IsLatin1(c))
- {
- return (CharUnicodeInfo.GetUnicodeCategory(c) == UnicodeCategory.DecimalDigitNumber);
- }
- return ((c >= '0') && (c <= '9'));
- }
Char.IsNumber 多了一步檢查ASCII碼。。。